From 1a216faecb5c114afbf36ecbac8ec3f795309eba Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Sun, 9 Apr 2017 14:50:13 +0200 Subject: 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 --- docker/alpine/Dockerfile.master | 47 +++++++++++++++++++ docker/alpine/IMAGE.md | 5 ++ docker/alpine/nginx.conf | 73 ++++++++++++++++++++++++++++++ docker/alpine/php-fpm.conf | 16 +++++++ docker/alpine/services.d/.s6-svscan/finish | 2 + docker/alpine/services.d/nginx/run | 2 + docker/alpine/services.d/php-fpm/run | 2 + docker/production/Dockerfile | 37 --------------- docker/production/IMAGE.md | 5 -- docker/production/nginx.conf | 72 ----------------------------- docker/production/stable/Dockerfile | 37 --------------- docker/production/stable/IMAGE.md | 5 -- docker/production/stable/nginx.conf | 72 ----------------------------- docker/production/stable/supervised.conf | 13 ------ docker/production/supervised.conf | 13 ------ docker/stable/Dockerfile | 37 +++++++++++++++ docker/stable/IMAGE.md | 5 ++ docker/stable/nginx.conf | 72 +++++++++++++++++++++++++++++ docker/stable/supervised.conf | 13 ++++++ 19 files changed, 274 insertions(+), 254 deletions(-) create mode 100644 docker/alpine/Dockerfile.master create mode 100644 docker/alpine/IMAGE.md create mode 100644 docker/alpine/nginx.conf create mode 100644 docker/alpine/php-fpm.conf create mode 100755 docker/alpine/services.d/.s6-svscan/finish create mode 100755 docker/alpine/services.d/nginx/run create mode 100755 docker/alpine/services.d/php-fpm/run delete mode 100644 docker/production/Dockerfile delete mode 100644 docker/production/IMAGE.md delete mode 100644 docker/production/nginx.conf delete mode 100644 docker/production/stable/Dockerfile delete mode 100644 docker/production/stable/IMAGE.md delete mode 100644 docker/production/stable/nginx.conf delete mode 100644 docker/production/stable/supervised.conf delete mode 100644 docker/production/supervised.conf create mode 100644 docker/stable/Dockerfile create mode 100644 docker/stable/IMAGE.md create mode 100644 docker/stable/nginx.conf create mode 100644 docker/stable/supervised.conf (limited to 'docker') diff --git a/docker/alpine/Dockerfile.master b/docker/alpine/Dockerfile.master new file mode 100644 index 00000000..58f7c6e7 --- /dev/null +++ b/docker/alpine/Dockerfile.master @@ -0,0 +1,47 @@ +FROM alpine:3.6 +MAINTAINER Shaarli Community + +RUN apk --update --no-cache add \ + ca-certificates \ + curl \ + nginx \ + php7 \ + php7-ctype \ + php7-curl \ + php7-fpm \ + php7-gd \ + php7-iconv \ + php7-intl \ + php7-json \ + php7-mbstring \ + php7-openssl \ + php7-phar \ + php7-session \ + php7-xml \ + php7-zlib \ + s6 + +COPY nginx.conf /etc/nginx/nginx.conf +COPY php-fpm.conf /etc/php7/php-fpm.conf +COPY services.d /etc/services.d + +RUN curl -sS https://getcomposer.org/installer | php7 -- --install-dir=/usr/local/bin --filename=composer \ + && rm -rf /etc/php7/php-fpm.d/www.conf \ + && sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php7/php.ini \ + && sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php7/php.ini + + +WORKDIR /var/www +RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \ + && mv Shaarli-master shaarli \ + && cd shaarli \ + && composer --prefer-dist --no-dev install \ + && rm -rf ~/.composer \ + && chown -R nginx:nginx . + +VOLUME /var/www/shaarli/data + +EXPOSE 80 + +ENTRYPOINT ["/bin/s6-svscan", "/etc/services.d"] +CMD [] diff --git a/docker/alpine/IMAGE.md b/docker/alpine/IMAGE.md new file mode 100644 index 00000000..6f827b35 --- /dev/null +++ b/docker/alpine/IMAGE.md @@ -0,0 +1,5 @@ +## shaarli:latest +- [Debian 8 Jessie](https://hub.docker.com/_/debian/) +- [PHP5-FPM](http://php-fpm.org/) +- [Nginx](http://nginx.org/) +- [Shaarli](https://github.com/shaarli/Shaarli) diff --git a/docker/alpine/nginx.conf b/docker/alpine/nginx.conf new file mode 100644 index 00000000..07fba33f --- /dev/null +++ b/docker/alpine/nginx.conf @@ -0,0 +1,73 @@ +user nginx nginx; +daemon off; +worker_processes 4; +pid /var/run/nginx.pid; + +events { + worker_connections 768; +} + +http { + include mime.types; + default_type application/octet-stream; + keepalive_timeout 20; + + client_max_body_size 10m; + + index index.html index.php; + + server { + listen 80; + root /var/www/shaarli; + + access_log /var/log/nginx/shaarli.access.log; + error_log /var/log/nginx/shaarli.error.log; + + location ~ /\. { + # deny access to dotfiles + access_log off; + log_not_found off; + deny all; + } + + location ~ ~$ { + # deny access to temp editor files, e.g. "script.php~" + access_log off; + log_not_found off; + deny all; + } + + location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { + # cache static assets + expires max; + add_header Pragma public; + add_header Cache-Control "public, must-revalidate, proxy-revalidate"; + } + + location = /favicon.ico { + # serve the Shaarli favicon from its custom location + alias /var/www/shaarli/images/favicon.ico; + } + + location / { + # Slim - rewrite URLs + try_files $uri /index.php$is_args$args; + } + + location ~ (index)\.php$ { + # Slim - split URL path into (script_filename, path_info) + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + + # filter and proxy PHP requests to PHP-FPM + fastcgi_pass unix:/var/run/php-fpm.sock; + fastcgi_index index.php; + include fastcgi.conf; + } + + location ~ \.php$ { + # deny access to all other PHP scripts + deny all; + } + } +} diff --git a/docker/alpine/php-fpm.conf b/docker/alpine/php-fpm.conf new file mode 100644 index 00000000..0843c164 --- /dev/null +++ b/docker/alpine/php-fpm.conf @@ -0,0 +1,16 @@ +[global] +daemonize = no + +[www] +user = nginx +group = nginx +listen.owner = nginx +listen.group = nginx +catch_workers_output = yes +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 diff --git a/docker/alpine/services.d/.s6-svscan/finish b/docker/alpine/services.d/.s6-svscan/finish new file mode 100755 index 00000000..1dadeeaf --- /dev/null +++ b/docker/alpine/services.d/.s6-svscan/finish @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/true diff --git a/docker/alpine/services.d/nginx/run b/docker/alpine/services.d/nginx/run new file mode 100755 index 00000000..21e7b0d6 --- /dev/null +++ b/docker/alpine/services.d/nginx/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +nginx diff --git a/docker/alpine/services.d/php-fpm/run b/docker/alpine/services.d/php-fpm/run new file mode 100755 index 00000000..21dd0107 --- /dev/null +++ b/docker/alpine/services.d/php-fpm/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +php-fpm7 -F diff --git a/docker/production/Dockerfile b/docker/production/Dockerfile deleted file mode 100644 index d0509115..00000000 --- a/docker/production/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM debian:jessie -MAINTAINER Shaarli Community - -ENV TERM dumb -RUN apt-get update \ - && apt-get install --no-install-recommends -y \ - ca-certificates \ - curl \ - nginx-light \ - php5-curl \ - php5-fpm \ - php5-gd \ - php5-intl \ - supervisor \ - && apt-get clean - -RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini -RUN sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini -COPY nginx.conf /etc/nginx/nginx.conf -COPY supervised.conf /etc/supervisor/conf.d/supervised.conf - -ADD https://getcomposer.org/composer.phar /usr/local/bin/composer -RUN chmod 755 /usr/local/bin/composer - -WORKDIR /var/www -RUN curl -L https://github.com/shaarli/Shaarli/archive/master.tar.gz | tar xzf - \ - && mv Shaarli-master shaarli \ - && cd shaarli \ - && composer --prefer-dist --no-dev install -RUN rm -rf html \ - && chown -R www-data:www-data . - -VOLUME /var/www/shaarli/data - -EXPOSE 80 - -CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/docker/production/IMAGE.md b/docker/production/IMAGE.md deleted file mode 100644 index 6f827b35..00000000 --- a/docker/production/IMAGE.md +++ /dev/null @@ -1,5 +0,0 @@ -## shaarli:latest -- [Debian 8 Jessie](https://hub.docker.com/_/debian/) -- [PHP5-FPM](http://php-fpm.org/) -- [Nginx](http://nginx.org/) -- [Shaarli](https://github.com/shaarli/Shaarli) diff --git a/docker/production/nginx.conf b/docker/production/nginx.conf deleted file mode 100644 index e8754d9b..00000000 --- a/docker/production/nginx.conf +++ /dev/null @@ -1,72 +0,0 @@ -user www-data www-data; -daemon off; -worker_processes 4; - -events { - worker_connections 768; -} - -http { - include mime.types; - default_type application/octet-stream; - keepalive_timeout 20; - - client_max_body_size 10m; - - index index.html index.php; - - server { - listen 80; - root /var/www/shaarli; - - access_log /var/log/nginx/shaarli.access.log; - error_log /var/log/nginx/shaarli.error.log; - - location ~ /\. { - # deny access to dotfiles - access_log off; - log_not_found off; - deny all; - } - - location ~ ~$ { - # deny access to temp editor files, e.g. "script.php~" - access_log off; - log_not_found off; - deny all; - } - - location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { - # cache static assets - expires max; - add_header Pragma public; - add_header Cache-Control "public, must-revalidate, proxy-revalidate"; - } - - location = /favicon.ico { - # serve the Shaarli favicon from its custom location - alias /var/www/shaarli/images/favicon.ico; - } - - location / { - # Slim - rewrite URLs - try_files $uri /index.php$is_args$args; - } - - location ~ (index)\.php$ { - # Slim - split URL path into (script_filename, path_info) - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - - # filter and proxy PHP requests to PHP-FPM - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - - location ~ \.php$ { - # deny access to all other PHP scripts - deny all; - } - } -} diff --git a/docker/production/stable/Dockerfile b/docker/production/stable/Dockerfile deleted file mode 100644 index fc9588b0..00000000 --- a/docker/production/stable/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM debian:jessie -MAINTAINER Shaarli Community - -ENV TERM dumb -RUN apt-get update \ - && apt-get install --no-install-recommends -y \ - ca-certificates \ - curl \ - nginx-light \ - php5-curl \ - php5-fpm \ - php5-gd \ - php5-intl \ - supervisor \ - && apt-get clean - -RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini -RUN sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini -COPY nginx.conf /etc/nginx/nginx.conf -COPY supervised.conf /etc/supervisor/conf.d/supervised.conf - -ADD https://getcomposer.org/composer.phar /usr/local/bin/composer -RUN chmod 755 /usr/local/bin/composer - -WORKDIR /var/www -RUN curl -L https://github.com/shaarli/Shaarli/archive/stable.tar.gz | tar xzf - \ - && mv Shaarli-stable shaarli \ - && cd shaarli \ - && composer --prefer-dist --no-dev install -RUN rm -rf html \ - && chown -R www-data:www-data . - -VOLUME /var/www/shaarli/data - -EXPOSE 80 - -CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/docker/production/stable/IMAGE.md b/docker/production/stable/IMAGE.md deleted file mode 100644 index d85b1d7a..00000000 --- a/docker/production/stable/IMAGE.md +++ /dev/null @@ -1,5 +0,0 @@ -## shaarli:stable -- [Debian 8 Jessie](https://hub.docker.com/_/debian/) -- [PHP5-FPM](http://php-fpm.org/) -- [Nginx](http://nginx.org/) -- [Shaarli (stable)](https://github.com/shaarli/Shaarli/tree/stable) diff --git a/docker/production/stable/nginx.conf b/docker/production/stable/nginx.conf deleted file mode 100644 index e8754d9b..00000000 --- a/docker/production/stable/nginx.conf +++ /dev/null @@ -1,72 +0,0 @@ -user www-data www-data; -daemon off; -worker_processes 4; - -events { - worker_connections 768; -} - -http { - include mime.types; - default_type application/octet-stream; - keepalive_timeout 20; - - client_max_body_size 10m; - - index index.html index.php; - - server { - listen 80; - root /var/www/shaarli; - - access_log /var/log/nginx/shaarli.access.log; - error_log /var/log/nginx/shaarli.error.log; - - location ~ /\. { - # deny access to dotfiles - access_log off; - log_not_found off; - deny all; - } - - location ~ ~$ { - # deny access to temp editor files, e.g. "script.php~" - access_log off; - log_not_found off; - deny all; - } - - location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { - # cache static assets - expires max; - add_header Pragma public; - add_header Cache-Control "public, must-revalidate, proxy-revalidate"; - } - - location = /favicon.ico { - # serve the Shaarli favicon from its custom location - alias /var/www/shaarli/images/favicon.ico; - } - - location / { - # Slim - rewrite URLs - try_files $uri /index.php$is_args$args; - } - - location ~ (index)\.php$ { - # Slim - split URL path into (script_filename, path_info) - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - - # filter and proxy PHP requests to PHP-FPM - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - - location ~ \.php$ { - # deny access to all other PHP scripts - deny all; - } - } -} diff --git a/docker/production/stable/supervised.conf b/docker/production/stable/supervised.conf deleted file mode 100644 index 5acd9795..00000000 --- a/docker/production/stable/supervised.conf +++ /dev/null @@ -1,13 +0,0 @@ -[program:php5-fpm] -command=/usr/sbin/php5-fpm -F -priority=5 -autostart=true -autorestart=true - -[program:nginx] -command=/usr/sbin/nginx -priority=10 -autostart=true -autorestart=true -stdout_events_enabled=true -stderr_events_enabled=true diff --git a/docker/production/supervised.conf b/docker/production/supervised.conf deleted file mode 100644 index 5acd9795..00000000 --- a/docker/production/supervised.conf +++ /dev/null @@ -1,13 +0,0 @@ -[program:php5-fpm] -command=/usr/sbin/php5-fpm -F -priority=5 -autostart=true -autorestart=true - -[program:nginx] -command=/usr/sbin/nginx -priority=10 -autostart=true -autorestart=true -stdout_events_enabled=true -stderr_events_enabled=true diff --git a/docker/stable/Dockerfile b/docker/stable/Dockerfile new file mode 100644 index 00000000..fc9588b0 --- /dev/null +++ b/docker/stable/Dockerfile @@ -0,0 +1,37 @@ +FROM debian:jessie +MAINTAINER Shaarli Community + +ENV TERM dumb +RUN apt-get update \ + && apt-get install --no-install-recommends -y \ + ca-certificates \ + curl \ + nginx-light \ + php5-curl \ + php5-fpm \ + php5-gd \ + php5-intl \ + supervisor \ + && apt-get clean + +RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini +RUN sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini +COPY nginx.conf /etc/nginx/nginx.conf +COPY supervised.conf /etc/supervisor/conf.d/supervised.conf + +ADD https://getcomposer.org/composer.phar /usr/local/bin/composer +RUN chmod 755 /usr/local/bin/composer + +WORKDIR /var/www +RUN curl -L https://github.com/shaarli/Shaarli/archive/stable.tar.gz | tar xzf - \ + && mv Shaarli-stable shaarli \ + && cd shaarli \ + && composer --prefer-dist --no-dev install +RUN rm -rf html \ + && chown -R www-data:www-data . + +VOLUME /var/www/shaarli/data + +EXPOSE 80 + +CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/docker/stable/IMAGE.md b/docker/stable/IMAGE.md new file mode 100644 index 00000000..d85b1d7a --- /dev/null +++ b/docker/stable/IMAGE.md @@ -0,0 +1,5 @@ +## shaarli:stable +- [Debian 8 Jessie](https://hub.docker.com/_/debian/) +- [PHP5-FPM](http://php-fpm.org/) +- [Nginx](http://nginx.org/) +- [Shaarli (stable)](https://github.com/shaarli/Shaarli/tree/stable) 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 @@ +user www-data www-data; +daemon off; +worker_processes 4; + +events { + worker_connections 768; +} + +http { + include mime.types; + default_type application/octet-stream; + keepalive_timeout 20; + + client_max_body_size 10m; + + index index.html index.php; + + server { + listen 80; + root /var/www/shaarli; + + access_log /var/log/nginx/shaarli.access.log; + error_log /var/log/nginx/shaarli.error.log; + + location ~ /\. { + # deny access to dotfiles + access_log off; + log_not_found off; + deny all; + } + + location ~ ~$ { + # deny access to temp editor files, e.g. "script.php~" + access_log off; + log_not_found off; + deny all; + } + + location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { + # cache static assets + expires max; + add_header Pragma public; + add_header Cache-Control "public, must-revalidate, proxy-revalidate"; + } + + location = /favicon.ico { + # serve the Shaarli favicon from its custom location + alias /var/www/shaarli/images/favicon.ico; + } + + location / { + # Slim - rewrite URLs + try_files $uri /index.php$is_args$args; + } + + location ~ (index)\.php$ { + # Slim - split URL path into (script_filename, path_info) + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + + # filter and proxy PHP requests to PHP-FPM + fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_index index.php; + include fastcgi.conf; + } + + location ~ \.php$ { + # deny access to all other PHP scripts + deny all; + } + } +} diff --git a/docker/stable/supervised.conf b/docker/stable/supervised.conf new file mode 100644 index 00000000..5acd9795 --- /dev/null +++ b/docker/stable/supervised.conf @@ -0,0 +1,13 @@ +[program:php5-fpm] +command=/usr/sbin/php5-fpm -F +priority=5 +autostart=true +autorestart=true + +[program:nginx] +command=/usr/sbin/nginx +priority=10 +autostart=true +autorestart=true +stdout_events_enabled=true +stderr_events_enabled=true -- cgit v1.2.3 From e3a3cc0da85925d08df29a2146b54b4159d5a14b Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Tue, 3 Oct 2017 20:07:46 +0200 Subject: docker: rename resources for the stable image Signed-off-by: VirtualTam --- docker/debian/Dockerfile.stable | 37 +++++++++++++++++++++ docker/debian/IMAGE.md | 5 +++ docker/debian/nginx.conf | 72 +++++++++++++++++++++++++++++++++++++++++ docker/debian/supervised.conf | 13 ++++++++ docker/stable/Dockerfile | 37 --------------------- docker/stable/IMAGE.md | 5 --- docker/stable/nginx.conf | 72 ----------------------------------------- docker/stable/supervised.conf | 13 -------- 8 files changed, 127 insertions(+), 127 deletions(-) create mode 100644 docker/debian/Dockerfile.stable create mode 100644 docker/debian/IMAGE.md create mode 100644 docker/debian/nginx.conf create mode 100644 docker/debian/supervised.conf delete mode 100644 docker/stable/Dockerfile delete mode 100644 docker/stable/IMAGE.md delete mode 100644 docker/stable/nginx.conf delete mode 100644 docker/stable/supervised.conf (limited to 'docker') diff --git a/docker/debian/Dockerfile.stable b/docker/debian/Dockerfile.stable new file mode 100644 index 00000000..fc9588b0 --- /dev/null +++ b/docker/debian/Dockerfile.stable @@ -0,0 +1,37 @@ +FROM debian:jessie +MAINTAINER Shaarli Community + +ENV TERM dumb +RUN apt-get update \ + && apt-get install --no-install-recommends -y \ + ca-certificates \ + curl \ + nginx-light \ + php5-curl \ + php5-fpm \ + php5-gd \ + php5-intl \ + supervisor \ + && apt-get clean + +RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini +RUN sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini +COPY nginx.conf /etc/nginx/nginx.conf +COPY supervised.conf /etc/supervisor/conf.d/supervised.conf + +ADD https://getcomposer.org/composer.phar /usr/local/bin/composer +RUN chmod 755 /usr/local/bin/composer + +WORKDIR /var/www +RUN curl -L https://github.com/shaarli/Shaarli/archive/stable.tar.gz | tar xzf - \ + && mv Shaarli-stable shaarli \ + && cd shaarli \ + && composer --prefer-dist --no-dev install +RUN rm -rf html \ + && chown -R www-data:www-data . + +VOLUME /var/www/shaarli/data + +EXPOSE 80 + +CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/docker/debian/IMAGE.md b/docker/debian/IMAGE.md new file mode 100644 index 00000000..d85b1d7a --- /dev/null +++ b/docker/debian/IMAGE.md @@ -0,0 +1,5 @@ +## shaarli:stable +- [Debian 8 Jessie](https://hub.docker.com/_/debian/) +- [PHP5-FPM](http://php-fpm.org/) +- [Nginx](http://nginx.org/) +- [Shaarli (stable)](https://github.com/shaarli/Shaarli/tree/stable) diff --git a/docker/debian/nginx.conf b/docker/debian/nginx.conf new file mode 100644 index 00000000..e8754d9b --- /dev/null +++ b/docker/debian/nginx.conf @@ -0,0 +1,72 @@ +user www-data www-data; +daemon off; +worker_processes 4; + +events { + worker_connections 768; +} + +http { + include mime.types; + default_type application/octet-stream; + keepalive_timeout 20; + + client_max_body_size 10m; + + index index.html index.php; + + server { + listen 80; + root /var/www/shaarli; + + access_log /var/log/nginx/shaarli.access.log; + error_log /var/log/nginx/shaarli.error.log; + + location ~ /\. { + # deny access to dotfiles + access_log off; + log_not_found off; + deny all; + } + + location ~ ~$ { + # deny access to temp editor files, e.g. "script.php~" + access_log off; + log_not_found off; + deny all; + } + + location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { + # cache static assets + expires max; + add_header Pragma public; + add_header Cache-Control "public, must-revalidate, proxy-revalidate"; + } + + location = /favicon.ico { + # serve the Shaarli favicon from its custom location + alias /var/www/shaarli/images/favicon.ico; + } + + location / { + # Slim - rewrite URLs + try_files $uri /index.php$is_args$args; + } + + location ~ (index)\.php$ { + # Slim - split URL path into (script_filename, path_info) + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + + # filter and proxy PHP requests to PHP-FPM + fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_index index.php; + include fastcgi.conf; + } + + location ~ \.php$ { + # deny access to all other PHP scripts + deny all; + } + } +} diff --git a/docker/debian/supervised.conf b/docker/debian/supervised.conf new file mode 100644 index 00000000..5acd9795 --- /dev/null +++ b/docker/debian/supervised.conf @@ -0,0 +1,13 @@ +[program:php5-fpm] +command=/usr/sbin/php5-fpm -F +priority=5 +autostart=true +autorestart=true + +[program:nginx] +command=/usr/sbin/nginx +priority=10 +autostart=true +autorestart=true +stdout_events_enabled=true +stderr_events_enabled=true diff --git a/docker/stable/Dockerfile b/docker/stable/Dockerfile deleted file mode 100644 index fc9588b0..00000000 --- a/docker/stable/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM debian:jessie -MAINTAINER Shaarli Community - -ENV TERM dumb -RUN apt-get update \ - && apt-get install --no-install-recommends -y \ - ca-certificates \ - curl \ - nginx-light \ - php5-curl \ - php5-fpm \ - php5-gd \ - php5-intl \ - supervisor \ - && apt-get clean - -RUN sed -i 's/post_max_size.*/post_max_size = 10M/' /etc/php5/fpm/php.ini -RUN sed -i 's/upload_max_filesize.*/upload_max_filesize = 10M/' /etc/php5/fpm/php.ini -COPY nginx.conf /etc/nginx/nginx.conf -COPY supervised.conf /etc/supervisor/conf.d/supervised.conf - -ADD https://getcomposer.org/composer.phar /usr/local/bin/composer -RUN chmod 755 /usr/local/bin/composer - -WORKDIR /var/www -RUN curl -L https://github.com/shaarli/Shaarli/archive/stable.tar.gz | tar xzf - \ - && mv Shaarli-stable shaarli \ - && cd shaarli \ - && composer --prefer-dist --no-dev install -RUN rm -rf html \ - && chown -R www-data:www-data . - -VOLUME /var/www/shaarli/data - -EXPOSE 80 - -CMD ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"] diff --git a/docker/stable/IMAGE.md b/docker/stable/IMAGE.md deleted file mode 100644 index d85b1d7a..00000000 --- a/docker/stable/IMAGE.md +++ /dev/null @@ -1,5 +0,0 @@ -## shaarli:stable -- [Debian 8 Jessie](https://hub.docker.com/_/debian/) -- [PHP5-FPM](http://php-fpm.org/) -- [Nginx](http://nginx.org/) -- [Shaarli (stable)](https://github.com/shaarli/Shaarli/tree/stable) diff --git a/docker/stable/nginx.conf b/docker/stable/nginx.conf deleted file mode 100644 index e8754d9b..00000000 --- a/docker/stable/nginx.conf +++ /dev/null @@ -1,72 +0,0 @@ -user www-data www-data; -daemon off; -worker_processes 4; - -events { - worker_connections 768; -} - -http { - include mime.types; - default_type application/octet-stream; - keepalive_timeout 20; - - client_max_body_size 10m; - - index index.html index.php; - - server { - listen 80; - root /var/www/shaarli; - - access_log /var/log/nginx/shaarli.access.log; - error_log /var/log/nginx/shaarli.error.log; - - location ~ /\. { - # deny access to dotfiles - access_log off; - log_not_found off; - deny all; - } - - location ~ ~$ { - # deny access to temp editor files, e.g. "script.php~" - access_log off; - log_not_found off; - deny all; - } - - location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { - # cache static assets - expires max; - add_header Pragma public; - add_header Cache-Control "public, must-revalidate, proxy-revalidate"; - } - - location = /favicon.ico { - # serve the Shaarli favicon from its custom location - alias /var/www/shaarli/images/favicon.ico; - } - - location / { - # Slim - rewrite URLs - try_files $uri /index.php$is_args$args; - } - - location ~ (index)\.php$ { - # Slim - split URL path into (script_filename, path_info) - try_files $uri =404; - fastcgi_split_path_info ^(.+\.php)(/.+)$; - - # filter and proxy PHP requests to PHP-FPM - fastcgi_pass unix:/var/run/php5-fpm.sock; - fastcgi_index index.php; - include fastcgi.conf; - } - - location ~ \.php$ { - # deny access to all other PHP scripts - deny all; - } - } -} diff --git a/docker/stable/supervised.conf b/docker/stable/supervised.conf deleted file mode 100644 index 5acd9795..00000000 --- a/docker/stable/supervised.conf +++ /dev/null @@ -1,13 +0,0 @@ -[program:php5-fpm] -command=/usr/sbin/php5-fpm -F -priority=5 -autostart=true -autorestart=true - -[program:nginx] -command=/usr/sbin/nginx -priority=10 -autostart=true -autorestart=true -stdout_events_enabled=true -stderr_events_enabled=true -- cgit v1.2.3