aboutsummaryrefslogtreecommitdiffhomepage
path: root/.docker
diff options
context:
space:
mode:
Diffstat (limited to '.docker')
-rw-r--r--.docker/.htaccess13
-rw-r--r--.docker/nginx.conf73
-rw-r--r--.docker/php-fpm.conf16
-rwxr-xr-x.docker/services.d/.s6-svscan/finish2
-rwxr-xr-x.docker/services.d/nginx/run2
-rwxr-xr-x.docker/services.d/php-fpm/run2
6 files changed, 108 insertions, 0 deletions
diff --git a/.docker/.htaccess b/.docker/.htaccess
new file mode 100644
index 00000000..f601c1ee
--- /dev/null
+++ b/.docker/.htaccess
@@ -0,0 +1,13 @@
1<IfModule version_module>
2 <IfVersion >= 2.4>
3 Require all denied
4 </IfVersion>
5 <IfVersion < 2.4>
6 Allow from none
7 Deny from all
8 </IfVersion>
9</IfModule>
10
11<IfModule !version_module>
12 Require all denied
13</IfModule>
diff --git a/.docker/nginx.conf b/.docker/nginx.conf
new file mode 100644
index 00000000..07fba33f
--- /dev/null
+++ b/.docker/nginx.conf
@@ -0,0 +1,73 @@
1user nginx nginx;
2daemon off;
3worker_processes 4;
4pid /var/run/nginx.pid;
5
6events {
7 worker_connections 768;
8}
9
10http {
11 include mime.types;
12 default_type application/octet-stream;
13 keepalive_timeout 20;
14
15 client_max_body_size 10m;
16
17 index index.html index.php;
18
19 server {
20 listen 80;
21 root /var/www/shaarli;
22
23 access_log /var/log/nginx/shaarli.access.log;
24 error_log /var/log/nginx/shaarli.error.log;
25
26 location ~ /\. {
27 # deny access to dotfiles
28 access_log off;
29 log_not_found off;
30 deny all;
31 }
32
33 location ~ ~$ {
34 # deny access to temp editor files, e.g. "script.php~"
35 access_log off;
36 log_not_found off;
37 deny all;
38 }
39
40 location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
41 # cache static assets
42 expires max;
43 add_header Pragma public;
44 add_header Cache-Control "public, must-revalidate, proxy-revalidate";
45 }
46
47 location = /favicon.ico {
48 # serve the Shaarli favicon from its custom location
49 alias /var/www/shaarli/images/favicon.ico;
50 }
51
52 location / {
53 # Slim - rewrite URLs
54 try_files $uri /index.php$is_args$args;
55 }
56
57 location ~ (index)\.php$ {
58 # Slim - split URL path into (script_filename, path_info)
59 try_files $uri =404;
60 fastcgi_split_path_info ^(.+\.php)(/.+)$;
61
62 # filter and proxy PHP requests to PHP-FPM
63 fastcgi_pass unix:/var/run/php-fpm.sock;
64 fastcgi_index index.php;
65 include fastcgi.conf;
66 }
67
68 location ~ \.php$ {
69 # deny access to all other PHP scripts
70 deny all;
71 }
72 }
73}
diff --git a/.docker/php-fpm.conf b/.docker/php-fpm.conf
new file mode 100644
index 00000000..0843c164
--- /dev/null
+++ b/.docker/php-fpm.conf
@@ -0,0 +1,16 @@
1[global]
2daemonize = no
3
4[www]
5user = nginx
6group = nginx
7listen.owner = nginx
8listen.group = nginx
9catch_workers_output = yes
10listen = /var/run/php-fpm.sock
11pm = dynamic
12pm.max_children = 20
13pm.start_servers = 1
14pm.min_spare_servers = 1
15pm.max_spare_servers = 3
16pm.max_requests = 2048
diff --git a/.docker/services.d/.s6-svscan/finish b/.docker/services.d/.s6-svscan/finish
new file mode 100755
index 00000000..1dadeeaf
--- /dev/null
+++ b/.docker/services.d/.s6-svscan/finish
@@ -0,0 +1,2 @@
1#!/bin/sh
2/bin/true
diff --git a/.docker/services.d/nginx/run b/.docker/services.d/nginx/run
new file mode 100755
index 00000000..21e7b0d6
--- /dev/null
+++ b/.docker/services.d/nginx/run
@@ -0,0 +1,2 @@
1#!/bin/execlineb -P
2nginx
diff --git a/.docker/services.d/php-fpm/run b/.docker/services.d/php-fpm/run
new file mode 100755
index 00000000..21dd0107
--- /dev/null
+++ b/.docker/services.d/php-fpm/run
@@ -0,0 +1,2 @@
1#!/bin/execlineb -P
2php-fpm7 -F