diff options
author | VirtualTam <virtualtam@flibidi.net> | 2017-04-09 14:50:13 +0200 |
---|---|---|
committer | VirtualTam <virtualtam@flibidi.net> | 2017-10-03 19:47:01 +0200 |
commit | 1a216faecb5c114afbf36ecbac8ec3f795309eba (patch) | |
tree | f02b0c42192ebcfdd99b4d3d636e28a4d91b0399 /docker/stable/nginx.conf | |
parent | 2f69b6d04e399bd3efae0f12b8ad8c148fabf350 (diff) | |
download | Shaarli-1a216faecb5c114afbf36ecbac8ec3f795309eba.tar.gz Shaarli-1a216faecb5c114afbf36ecbac8ec3f795309eba.tar.zst Shaarli-1a216faecb5c114afbf36ecbac8ec3f795309eba.zip |
docker: switch to Alpine Linux for the master image
Relates to https://github.com/shaarli/Shaarli/issues/843
Changed:
- switch base image from Debian:Jessie to Alpine:3.6
- switch to PHP 7.1
- switch from supervisord to s6 to manage services
See:
- https://alpinelinux.org/
- https://wiki.alpinelinux.org/wiki/Nginx_with_PHP
- http://www.skarnet.org/software/s6/
- http://www.skarnet.org/software/s6/s6-svscan.html
- http://www.skarnet.org/software/s6/s6-svc.html
- http://www.skarnet.org/software/s6/s6-svstat.html
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
Diffstat (limited to 'docker/stable/nginx.conf')
-rw-r--r-- | docker/stable/nginx.conf | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/docker/stable/nginx.conf b/docker/stable/nginx.conf new file mode 100644 index 00000000..e8754d9b --- /dev/null +++ b/docker/stable/nginx.conf | |||
@@ -0,0 +1,72 @@ | |||
1 | user www-data www-data; | ||
2 | daemon off; | ||
3 | worker_processes 4; | ||
4 | |||
5 | events { | ||
6 | worker_connections 768; | ||
7 | } | ||
8 | |||
9 | http { | ||
10 | include mime.types; | ||
11 | default_type application/octet-stream; | ||
12 | keepalive_timeout 20; | ||
13 | |||
14 | client_max_body_size 10m; | ||
15 | |||
16 | index index.html index.php; | ||
17 | |||
18 | server { | ||
19 | listen 80; | ||
20 | root /var/www/shaarli; | ||
21 | |||
22 | access_log /var/log/nginx/shaarli.access.log; | ||
23 | error_log /var/log/nginx/shaarli.error.log; | ||
24 | |||
25 | location ~ /\. { | ||
26 | # deny access to dotfiles | ||
27 | access_log off; | ||
28 | log_not_found off; | ||
29 | deny all; | ||
30 | } | ||
31 | |||
32 | location ~ ~$ { | ||
33 | # deny access to temp editor files, e.g. "script.php~" | ||
34 | access_log off; | ||
35 | log_not_found off; | ||
36 | deny all; | ||
37 | } | ||
38 | |||
39 | location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { | ||
40 | # cache static assets | ||
41 | expires max; | ||
42 | add_header Pragma public; | ||
43 | add_header Cache-Control "public, must-revalidate, proxy-revalidate"; | ||
44 | } | ||
45 | |||
46 | location = /favicon.ico { | ||
47 | # serve the Shaarli favicon from its custom location | ||
48 | alias /var/www/shaarli/images/favicon.ico; | ||
49 | } | ||
50 | |||
51 | location / { | ||
52 | # Slim - rewrite URLs | ||
53 | try_files $uri /index.php$is_args$args; | ||
54 | } | ||
55 | |||
56 | location ~ (index)\.php$ { | ||
57 | # Slim - split URL path into (script_filename, path_info) | ||
58 | try_files $uri =404; | ||
59 | fastcgi_split_path_info ^(.+\.php)(/.+)$; | ||
60 | |||
61 | # filter and proxy PHP requests to PHP-FPM | ||
62 | fastcgi_pass unix:/var/run/php5-fpm.sock; | ||
63 | fastcgi_index index.php; | ||
64 | include fastcgi.conf; | ||
65 | } | ||
66 | |||
67 | location ~ \.php$ { | ||
68 | # deny access to all other PHP scripts | ||
69 | deny all; | ||
70 | } | ||
71 | } | ||
72 | } | ||