New Dockerfile based on Alpine Linux and Nginx/PHP-FPM

This commit is contained in:
Frederic Guillot
2016-02-06 20:00:26 -05:00
parent 58cef28967
commit 77a91b7ade
12 changed files with 183 additions and 26 deletions

1
.docker/crontab/kanboard Normal file
View File

@@ -0,0 +1 @@
1 0 * * * cd /var/www/kanboard && ./kanboard cronjob >/dev/null 2>&1

70
.docker/nginx/nginx.conf Normal file
View File

@@ -0,0 +1,70 @@
user nginx;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
server_tokens off;
access_log off;
error_log /dev/stderr;
server {
listen 80;
server_name localhost;
index index.php;
root /var/www/kanboard;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
location /data {
return 404;
}
location ~* ^.+\.(log|sqlite)$ {
return 404;
}
location ~ /\.ht {
return 404;
}
location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ {
expires 7d;
etag on;
}
gzip on;
gzip_comp_level 3;
gzip_disable "msie6";
gzip_vary on;
gzip_types
text/javascript
application/javascript
application/json
text/xml
application/xml
application/rss+xml
text/css
text/plain;
}
}

View File

@@ -0,0 +1,15 @@
expose_php = Off
error_reporting = E_ALL
display_errors = Off
log_errors = On
error_log = syslog
date.timezone = UTC
allow_url_fopen = On
post_max_size = 30M
upload_max_filesize = 30M
opcache.max_accelerated_files = 7963
opcache.validate_timestamps = Off
opcache.save_comments = 0
opcache.load_comments = 0
opcache.fast_shutdown = 1
opcache.enable_file_override = On

17
.docker/php/php-fpm.conf Normal file
View File

@@ -0,0 +1,17 @@
[global]
error_log = /dev/stderr
log_level = error
daemonize = no
[www]
user = nginx
group = nginx
listen.owner = nginx
listen.group = nginx
listen = /var/run/php-fpm.sock
pm = dynamic
pm.max_children = 20
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 2048

View File

@@ -0,0 +1,2 @@
#!/bin/sh
/bin/true

2
.docker/services.d/cron/run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/execlineb -P
crond -f

2
.docker/services.d/nginx/run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/execlineb -P
nginx -g "daemon off;"

2
.docker/services.d/php/run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/execlineb -P
php-fpm -F