fix: resolver-based nginx config and env vars for template configs

- Use Docker embedded DNS (127.0.0.11) with variables in proxy_pass
  instead of upstream blocks to prevent nginx crash loops when
  backend isn't ready during startup
- Add STACK_NAME env to web and livekit services for golang
  template_driver config resolution
- Add LIVEKIT_API_KEY env to livekit service for config template
- Add livekit_as secret to livekit service
- Increase web healthcheck retries and start_period
- Bump NGINX_CONF_VERSION to v2
This commit is contained in:
notplants
2026-02-27 19:30:57 +00:00
parent 94c657e976
commit e4bb97a181
3 changed files with 19 additions and 12 deletions

View File

@ -1,10 +1,7 @@
upstream meet_backend {
server {{ env "STACK_NAME" }}_backend:8000 fail_timeout=0;
}
upstream meet_frontend {
server {{ env "STACK_NAME" }}_app:8080 fail_timeout=0;
}
# Use Docker's embedded DNS so nginx starts even if upstreams aren't ready yet.
# With variables in proxy_pass, hostname resolution is deferred to request time
# instead of config parse time — preventing crash loops during slow backend startup.
resolver 127.0.0.11 valid=5s;
server {
listen 8083;
@ -14,13 +11,16 @@ server {
# Disables server version feedback on pages and in headers
server_tokens off;
set $meet_backend {{ env "STACK_NAME" }}_backend:8000;
set $meet_frontend {{ env "STACK_NAME" }}_app:8080;
location @proxy_to_meet_backend {
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://meet_backend;
proxy_pass http://$meet_backend;
}
location @proxy_to_meet_frontend {
@ -29,7 +29,7 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
proxy_pass http://meet_frontend;
proxy_pass http://$meet_frontend;
}
location / {