feat(docker): fail at start when AUTH_HOST or API_HOST is unset
Build, Test & Push Frontend / quality-check (push) Successful in 38s
Build, Test & Push Frontend / docker (push) Successful in 29s

An empty host gives a CSP connect-src that blocks every API call.
The new entrypoint check stops the container early with a clear error.
This commit is contained in:
lobo committed 2026-10-14 15:22:20 +02:00
1 parent 25ade98989
commit 720764bf68
3 files changed
+7 -3

No files matched your search

+1 -2
View File
@@ -12,8 +12,7 @@ RUN npm run build
# Serve the static files using a lightweight web server # Serve the static files using a lightweight web server
FROM nginx:alpine FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html COPY --from=builder /app/dist /usr/share/nginx/html
# nginx.conf is a template. An env var that is not set stays in it as ${...}, and nginx then fails to start. COPY --chmod=0755 docker-entrypoint.d/10-require-hosts.sh /docker-entrypoint.d/
ENV AUTH_HOST="" API_HOST=""
COPY nginx.conf /etc/nginx/templates/default.conf.template COPY nginx.conf /etc/nginx/templates/default.conf.template
EXPOSE 80 EXPOSE 80
CMD ["nginx", "-g", "daemon off;"] CMD ["nginx", "-g", "daemon off;"]
+2 -1
View File
@@ -405,7 +405,8 @@ Production image (container env, read by nginx at start):
| `AUTH_HOST` | Auth host name for the CSP `connect-src` | | `AUTH_HOST` | Auth host name for the CSP `connect-src` |
| `API_HOST` | Core host name, same | | `API_HOST` | Core host name, same |
Both default to empty in the image; `docker-compose.yml` of the Deployment repo passes them. `FRONTEND_HOST` is not The image refuses to start when either is unset or empty (`docker-entrypoint.d/10-require-hosts.sh`);
`docker-compose.yml` of the Deployment repo passes both. `FRONTEND_HOST` is not
passed to the frontend image; compose uses it for the Traefik rule and as `APP_FRONTEND_URL` of Auth and Core (Deployment `docker-compose.yml`:68,152). passed to the frontend image; compose uses it for the Traefik rule and as `APP_FRONTEND_URL` of Auth and Core (Deployment `docker-compose.yml`:68,152).
## Tests and build ## Tests and build
+4
View File
@@ -0,0 +1,4 @@
#!/bin/sh
# Empty hosts would give a CSP connect-src that blocks every API call. Runs before 20-envsubst-on-templates.sh.
: "${AUTH_HOST:?set AUTH_HOST (public host name of Auth) in the container env}"
: "${API_HOST:?set API_HOST (public host name of Core) in the container env}"