# Canonical routing for the dd-cyberia custom Compose workflow. This file is # maintained here and is used as-is by the generic Docker Compose CLI. # Docker DNS: http://cyberia-client, http://cyberia-server, http://engine-cyberia. # Host access: client on http://localhost[:8082]/, server on # http://localhost:8081/, and engine on http://localhost:4005. # Optional *.cyberia.localhost aliases remain available. map $http_upgrade $connection_upgrade { default upgrade; '' close; } # Docker embedded DNS: resolve upstream names per request so a variant that is # briefly down never fails nginx startup or config reload. resolver 127.0.0.11 ipv6=off valid=10s; proxy_http_version 1.1; server { listen 80 default_server; server_name localhost 127.0.0.1 cyberia-client cyberia.localhost client.cyberia.localhost _; location = /healthz { access_log off; return 200 "ok\n"; add_header Content-Type text/plain; } # Shared content authority: REST API + engine-served assets (fonts, ui-icons). location /api/ { set $up_engine engine-cyberia-runtime:4005; proxy_pass http://$up_engine; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location /assets/ { set $up_engine engine-cyberia-runtime:4005; proxy_pass http://$up_engine; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /ws { set $up_server_default cyberia-server-runtime:8081; proxy_pass http://$up_server_default; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /FOREST/ws { set $up_server_forest cyberia-server-forest:8081; proxy_pass http://$up_server_forest; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /TEST/ws { set $up_server_test cyberia-server-test:8081; proxy_pass http://$up_server_test; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location / { set $up_client_default cyberia-client-runtime:8081; proxy_pass http://$up_client_default; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /FOREST { return 301 /FOREST/; } location ^~ /FOREST/ { set $up_client_forest cyberia-client-forest:8081; proxy_pass http://$up_client_forest; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /TEST { return 301 /TEST/; } location ^~ /TEST/ { set $up_client_test cyberia-client-test:8081; proxy_pass http://$up_client_test; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } } # Dedicated Cyberia server gateway. Port 8081 makes all instance paths available # from localhost; the stable Docker DNS alias exposes the same routes on :80. server { listen 80; listen 8081 default_server; server_name cyberia-server server.cyberia.localhost; location = /healthz { access_log off; return 200 "ok\n"; add_header Content-Type text/plain; } location = /FOREST { return 301 /FOREST/; } location ^~ /FOREST/ { set $up_http_server_forest cyberia-server-forest:8081; proxy_pass http://$up_http_server_forest; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location = /TEST { return 301 /TEST/; } location ^~ /TEST/ { set $up_http_server_test cyberia-server-test:8081; proxy_pass http://$up_http_server_test; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } location / { set $up_http_server_default cyberia-server-runtime:8081; proxy_pass http://$up_http_server_default; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } } # The engine remains a single shared authority. Its direct :4005 publication is # canonical for debugging; this alias is convenient for browser parity. server { listen 80; server_name engine-cyberia engine.cyberia.localhost; location / { set $up_engine_authority engine-cyberia-runtime:4005; proxy_pass http://$up_engine_authority; 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } }