Files
spaceshell/deploy/docker-compose.yaml
T
vasyansk 4c9eacccb7 fix(deploy): put landing on proxy's network + runtime DNS resolve
The landing service had no networks: key, so it joined the auto 'default'
network while proxy was only on spaceshell-network + webproxy — they shared no
network, so proxy_pass to 'landing' couldn't resolve. With a static
upstream{ server landing:80 } nginx fails to boot on an unresolvable name and
restart-loops, so the proxy flapped (page intermittently up/down). Fixes:
- landing now joins spaceshell-network (shared with proxy).
- proxy.conf resolves 'landing' at request time via Docker DNS (127.0.0.11)
  using a variable proxy_pass, so nginx starts even if landing is briefly down.
nginx -t passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 14:20:33 +07:00

35 lines
1.0 KiB
YAML

# spacesh prod — front nginx proxies to the landing container and serves the DMG.
# Deployed by .gitea/workflows/build.yaml (image + this file); the DMG is uploaded
# separately via `make deploy-dmg` (Tauri can't cross-compile a macOS bundle in CI).
services:
landing:
# LANDING_IMAGE is written to .env by the CI deploy job (exact registry path + tag).
image: ${LANDING_IMAGE:-git.realmanual.ru/spacesh/spacesh-landing:latest}
restart: unless-stopped
expose:
- "80"
networks:
# Must share a network with `proxy`, else proxy_pass to `landing` can't resolve.
- spaceshell-network
proxy:
image: nginx:1.27-alpine
restart: unless-stopped
depends_on:
- landing
expose:
- "80"
volumes:
- ./proxy.conf:/etc/nginx/conf.d/default.conf:ro
- ./download:/srv/download:ro
networks:
spaceshell-network:
webproxy:
ipv4_address: 172.18.0.28
networks:
spaceshell-network:
driver: bridge
webproxy:
name: webproxy
external: true