Browse Source

add optional configuration for nginx frontend container

Andrew Dolgov 7 months ago
parent
commit
c5bd3c357e
3 changed files with 68 additions and 0 deletions
  1. 10 0
      docker-compose.yml
  2. 3 0
      web-nginx/Dockerfile
  3. 55 0
      web-nginx/nginx.conf

+ 10 - 0
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:  

+ 3 - 0
web-nginx/Dockerfile

@@ -0,0 +1,3 @@
+FROM nginx:alpine
+
+COPY nginx.conf /etc/nginx/nginx.conf

+ 55 - 0
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;
+		}
+
+	}
+}