From d2a56e36c76399b858884a506982af3e8b855a23 Mon Sep 17 00:00:00 2001 From: Ryan Kegel Date: Wed, 11 Feb 2026 16:58:32 -0500 Subject: [PATCH] -test environment --- frontend/vue-app/Dockerfile | 8 +++--- frontend/vue-app/nginx copy.template | 43 ++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 frontend/vue-app/nginx copy.template diff --git a/frontend/vue-app/Dockerfile b/frontend/vue-app/Dockerfile index 9c44596..8b52b1d 100644 --- a/frontend/vue-app/Dockerfile +++ b/frontend/vue-app/Dockerfile @@ -9,7 +9,7 @@ RUN npm run build # Stage 2: Serve with nginx FROM nginx:alpine COPY --from=build /app/dist /usr/share/nginx/html -COPY nginx.conf /etc/nginx/nginx.conf +COPY nginx.conf.template /etc/nginx/nginx.conf.template # Copy SSL certificate and key COPY 192.168.1.102+1.pem /etc/nginx/ssl/server.crt COPY 192.168.1.102+1-key.pem /etc/nginx/ssl/server.key @@ -17,10 +17,10 @@ COPY 192.168.1.102+1-key.pem /etc/nginx/ssl/server.key EXPOSE 80 EXPOSE 443 # Copy nginx.conf -COPY nginx.conf /etc/nginx/nginx.conf +COPY nginx.conf.template /etc/nginx/nginx.conf.template # Set default BACKEND_HOST (can be overridden at runtime) ENV BACKEND_HOST=chore-app-backend -# Use envsubst to replace variables in nginx.conf at startup -CMD ["/bin/sh", "-c", "envsubst < /etc/nginx/nginx.conf > /etc/nginx/nginx.conf.tmp && mv /etc/nginx/nginx.conf.tmp /etc/nginx/nginx.conf && echo 'envsubst completed' && echo '=== nginx.conf ===' && cat /etc/nginx/nginx.conf && echo '=== end nginx.conf ===' && nginx -g 'daemon off;'"] +# Use sed to replace $BACKEND_HOST with the env value, then start Nginx +CMD ["/bin/sh", "-c", "sed 's/\\$BACKEND_HOST/'\"$BACKEND_HOST\"'/g' /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf && nginx -g 'daemon off;'"] diff --git a/frontend/vue-app/nginx copy.template b/frontend/vue-app/nginx copy.template new file mode 100644 index 0000000..b29949a --- /dev/null +++ b/frontend/vue-app/nginx copy.template @@ -0,0 +1,43 @@ +events {} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + server { + client_max_body_size 2M; + listen 443 ssl; + server_name _; + root /usr/share/nginx/html; + + ssl_certificate /etc/nginx/ssl/server.crt; + ssl_certificate_key /etc/nginx/ssl/server.key; + + ssl_protocols TLSv1.2 TLSv1.3; + ssl_ciphers HIGH:!aNULL:!MD5; + + location /api/ { + proxy_pass http://$BACKEND_HOST:5000/; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /events { + proxy_pass http://$BACKEND_HOST:5000/events; + proxy_set_header Host $host; + proxy_set_header Connection ''; + proxy_http_version 1.1; + chunked_transfer_encoding off; + proxy_buffering off; + proxy_cache off; + proxy_read_timeout 36000s; + proxy_send_timeout 36000s; + } + + location / { + try_files $uri $uri/ /index.html; + } + } +} \ No newline at end of file