From c5bd3c357e94ecc726ada4e5f6db6e3d985b44c5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 1 Feb 2020 10:51:30 +0300 Subject: [PATCH] add optional configuration for nginx frontend container --- docker-compose.yml | 10 ++++++++ web-nginx/Dockerfile | 3 +++ web-nginx/nginx.conf | 55 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 web-nginx/Dockerfile create mode 100644 web-nginx/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml index a029ce0..c4ebba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,6 +77,16 @@ services: # depends_on: # - app +# web-nginx: +# build: ./web-nginx +# restart: unless-stopped +# ports: +# - ${HTTP_PORT}:80 +# volumes: +# - app:/var/www/html:ro +# depends_on: +# - app + volumes: db: app: diff --git a/web-nginx/Dockerfile b/web-nginx/Dockerfile new file mode 100644 index 0000000..9e620af --- /dev/null +++ b/web-nginx/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:alpine + +COPY nginx.conf /etc/nginx/nginx.conf diff --git a/web-nginx/nginx.conf b/web-nginx/nginx.conf new file mode 100644 index 0000000..efe2eea --- /dev/null +++ b/web-nginx/nginx.conf @@ -0,0 +1,55 @@ +worker_processes auto; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + access_log /dev/stdout; + error_log /dev/stderr warn; + + sendfile on; + + index index.php; + + upstream app { + server app:9000; + } + + server { + listen 80; + root /var/www/html; + + location /tt-rss/cache { + aio threads; + internal; + } + + location ~ \.php$ { + # regex to split $uri to $fastcgi_script_name and $fastcgi_path + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + + # Check that the PHP script exists before passing it + try_files $fastcgi_script_name =404; + + # Bypass the fact that try_files resets $fastcgi_path_info + # see: http://trac.nginx.org/nginx/ticket/321 + set $path_info $fastcgi_path_info; + fastcgi_param PATH_INFO $path_info; + + fastcgi_index index.php; + include fastcgi.conf; + + fastcgi_pass app; + } + + location / { + try_files $uri $uri/ =404; + } + + } +}