- 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
51 lines
1.4 KiB
Cheetah
51 lines
1.4 KiB
Cheetah
# 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;
|
|
server_name localhost;
|
|
charset utf-8;
|
|
|
|
# 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;
|
|
}
|
|
|
|
location @proxy_to_meet_frontend {
|
|
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_frontend;
|
|
}
|
|
|
|
location / {
|
|
try_files $uri @proxy_to_meet_frontend;
|
|
}
|
|
|
|
location /api {
|
|
try_files $uri @proxy_to_meet_backend;
|
|
}
|
|
|
|
location /admin {
|
|
try_files $uri @proxy_to_meet_backend;
|
|
}
|
|
|
|
location /static {
|
|
try_files $uri @proxy_to_meet_backend;
|
|
}
|
|
}
|