initial release (nginx+php ok)
This commit is contained in:
commit
fd3195a8b2
15
Dockerfile
Normal file
15
Dockerfile
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.21
|
||||||
|
|
||||||
|
RUN \
|
||||||
|
apk -U upgrade && \
|
||||||
|
apk add tini nginx gettext-envsubst openssh-server php84 php84-fpm php83 php83-fpm php82 php82-fpm
|
||||||
|
|
||||||
|
COPY rootfs /
|
||||||
|
|
||||||
|
VOLUME [ "/www", "/ssh" ]
|
||||||
|
|
||||||
|
ENV \
|
||||||
|
USERNAME=theuser \
|
||||||
|
PHP=none
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/sbin/tini", "/app/entrypoint.sh" ]
|
21
rootfs/app/entrypoint.sh
Executable file
21
rootfs/app/entrypoint.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
WEBROOT=/www
|
||||||
|
PHP=${PHP:-none}
|
||||||
|
USERNAME=${USERNAME:-theuser}
|
||||||
|
adduser -DH -h "${WEBROOT}" -G "nginx" -u "1000" "${USERNAME}"
|
||||||
|
|
||||||
|
chown "${USERNAME}:nginx" "${WEBROOT}" -R
|
||||||
|
find "${WEBROOT}" -type d -exec chmod 0755 {} \;
|
||||||
|
find "${WEBROOT}" -type f -exec chmod 0644 {} \;
|
||||||
|
|
||||||
|
envsubst < /app/nginx.conf.tpl > /etc/nginx/http.d/default.conf
|
||||||
|
|
||||||
|
case "${PHP}" in
|
||||||
|
"php84") /usr/sbin/php-fpm84 -D ;;
|
||||||
|
"php83") /usr/sbin/php-fpm83 -D ;;
|
||||||
|
"php82") /usr/sbin/php-fpm82 -D ;;
|
||||||
|
*) ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
nginx
|
46
rootfs/app/nginx.conf.tpl
Normal file
46
rootfs/app/nginx.conf.tpl
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
error_log /dev/stdout info;
|
||||||
|
access_log /dev/stdout;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server;
|
||||||
|
root /www;
|
||||||
|
# server_name localhost;
|
||||||
|
|
||||||
|
#access_log /var/log/nginx/host.access.log main;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
index index.html index.htm;
|
||||||
|
|
||||||
|
# autoindex on;
|
||||||
|
# autoindex_exact_size off;
|
||||||
|
# autoindex_format html;
|
||||||
|
# autoindex_localtime on;
|
||||||
|
}
|
||||||
|
|
||||||
|
#error_page 404 /404.html;
|
||||||
|
|
||||||
|
location = /404.html {
|
||||||
|
internal;
|
||||||
|
}
|
||||||
|
|
||||||
|
# redirect server error pages to the static page /50x.html
|
||||||
|
#
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
|
||||||
|
include /etc/nginx/custom.d/${PHP}.conf;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_proxied any;
|
||||||
|
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/x-icon font/woff2 font/woff application/x-font-woff;
|
||||||
|
gzip_vary on;
|
||||||
|
gzip_disable "msie6";
|
||||||
|
|
||||||
|
etag on;
|
||||||
|
if_modified_since exact;
|
||||||
|
add_header Pragma "public";
|
||||||
|
add_header Cache-Control "max-age=31536000, public";
|
||||||
|
}
|
1
rootfs/etc/nginx/conf.d/nodaemon.conf
Normal file
1
rootfs/etc/nginx/conf.d/nodaemon.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
daemon off;
|
0
rootfs/etc/nginx/custom.d/none.conf
Normal file
0
rootfs/etc/nginx/custom.d/none.conf
Normal file
6
rootfs/etc/nginx/custom.d/php82.conf
Normal file
6
rootfs/etc/nginx/custom.d/php82.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
include fastcgi.conf;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
6
rootfs/etc/nginx/custom.d/php83.conf
Normal file
6
rootfs/etc/nginx/custom.d/php83.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
include fastcgi.conf;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
6
rootfs/etc/nginx/custom.d/php84.conf
Normal file
6
rootfs/etc/nginx/custom.d/php84.conf
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
|
fastcgi_pass 127.0.0.1:9000;
|
||||||
|
include fastcgi.conf;
|
||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
}
|
1
rootfs/etc/php82/php-fpm.d/errlog.conf
Normal file
1
rootfs/etc/php82/php-fpm.d/errlog.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
error_log = /dev/stderr
|
1
rootfs/etc/php83/php-fpm.d/errlog.conf
Normal file
1
rootfs/etc/php83/php-fpm.d/errlog.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
error_log = /dev/stderr
|
1
rootfs/etc/php84/php-fpm.d/errlog.conf
Normal file
1
rootfs/etc/php84/php-fpm.d/errlog.conf
Normal file
@ -0,0 +1 @@
|
|||||||
|
error_log = /dev/stderr
|
23
rootfs/www/index.html
Normal file
23
rootfs/www/index.html
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Welcome to nginx!</title>
|
||||||
|
<style>
|
||||||
|
html { color-scheme: light dark; }
|
||||||
|
body { width: 35em; margin: 0 auto;
|
||||||
|
font-family: Tahoma, Verdana, Arial, sans-serif; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Welcome to nginx!</h1>
|
||||||
|
<p>If you see this page, the nginx web server is successfully installed and
|
||||||
|
working. Further configuration is required.</p>
|
||||||
|
|
||||||
|
<p>For online documentation and support please refer to
|
||||||
|
<a href="http://nginx.org/">nginx.org</a>.<br/>
|
||||||
|
Commercial support is available at
|
||||||
|
<a href="http://nginx.com/">nginx.com</a>.</p>
|
||||||
|
|
||||||
|
<p><em>Thank you for using nginx.</em></p>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user