diff --git a/deployment/docker/frontend/.env.example b/deployment/docker/frontend/.env.example index 44802cc..56a48e2 100644 --- a/deployment/docker/frontend/.env.example +++ b/deployment/docker/frontend/.env.example @@ -14,5 +14,7 @@ FRONTEND_IMAGENAME=Agit8or/Depl0y-frontend FRONTEND_IMAGEVERSION=latest FRONTEND_ENABLEAUTOMATICUPDATES=true FRONTEND_PORT_EXTERNAL=8080 +BACKEND_BASEURL=http://backend:8000 + ###END FRONTEND### diff --git a/deployment/docker/frontend/Dockerfile b/deployment/docker/frontend/Dockerfile index 9e4b8aa..8775f35 100644 --- a/deployment/docker/frontend/Dockerfile +++ b/deployment/docker/frontend/Dockerfile @@ -8,7 +8,8 @@ ENV APP_VERSION=${APP_VERSION} COPY src/frontend/dist /usr/share/nginx/html # Custom nginx config for SPA routing (serve index.html for unknown routes) -COPY deployment/docker/frontend/nginx.conf /etc/nginx/conf.d/default.conf +# Use nginx's built-in template support to env-substitute BACKEND_BASEURL +COPY deployment/docker/frontend/nginx.conf /etc/nginx/templates/default.conf.template EXPOSE 80 diff --git a/deployment/docker/frontend/docker-compose.yml b/deployment/docker/frontend/docker-compose.yml index 3bd9254..005bfe3 100644 --- a/deployment/docker/frontend/docker-compose.yml +++ b/deployment/docker/frontend/docker-compose.yml @@ -19,6 +19,8 @@ services: logging: driver: 'local' #env_file: '.env' + environment: + BACKEND_BASEURL: '${BACKEND_BASEURL:-http://backend:8000}' networks: EXTERNAL: ports: diff --git a/deployment/docker/frontend/nginx.conf b/deployment/docker/frontend/nginx.conf index c60246c..86168dd 100644 --- a/deployment/docker/frontend/nginx.conf +++ b/deployment/docker/frontend/nginx.conf @@ -10,9 +10,9 @@ server { try_files $uri /index.html; } - # Backend API - expects a backend service reachable at http://backend:8000 + # Backend API - configurable via BACKEND_BASEURL (e.g. http://backend:8000) location /api { - proxy_pass http://backend:8000; + proxy_pass $BACKEND_BASEURL; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade';