diff --git a/src/web-nginx/Dockerfile b/src/web-nginx/Dockerfile new file mode 100644 index 0000000..9e620af --- /dev/null +++ b/src/web-nginx/Dockerfile @@ -0,0 +1,3 @@ +FROM nginx:alpine + +COPY nginx.conf /etc/nginx/nginx.conf diff --git a/src/web-nginx/nginx.conf b/src/web-nginx/nginx.conf new file mode 100644 index 0000000..efe2eea --- /dev/null +++ b/src/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; + } + + } +}