mirror of
https://github.com/BigBodyCobain/Shadowbroker.git
synced 2026-05-07 18:06:49 +02:00
fa18c032e2
Seed safe static backend data into fresh Docker volumes, tighten Docker build-context exclusions, avoid optional env warnings, and make the frontend healthcheck use the IPv4 loopback path that works inside the container.
72 lines
2.5 KiB
YAML
72 lines
2.5 KiB
YAML
## Default registry is GHCR because the GitHub release workflow publishes:
|
|
## ghcr.io/bigbodycobain/shadowbroker-backend:latest
|
|
## ghcr.io/bigbodycobain/shadowbroker-frontend:latest
|
|
##
|
|
## GitLab mirror images can still be used by swapping the image lines to:
|
|
## registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest
|
|
## registry.gitlab.com/bigbodycobain/shadowbroker/frontend:latest
|
|
|
|
services:
|
|
backend:
|
|
image: ghcr.io/bigbodycobain/shadowbroker-backend:latest
|
|
container_name: shadowbroker-backend
|
|
ports:
|
|
- "${BIND:-127.0.0.1}:8000:8000"
|
|
environment:
|
|
- AIS_API_KEY=${AIS_API_KEY:-}
|
|
- OPENSKY_CLIENT_ID=${OPENSKY_CLIENT_ID:-}
|
|
- OPENSKY_CLIENT_SECRET=${OPENSKY_CLIENT_SECRET:-}
|
|
- LTA_ACCOUNT_KEY=${LTA_ACCOUNT_KEY:-}
|
|
- ADMIN_KEY=${ADMIN_KEY:-}
|
|
- FINNHUB_API_KEY=${FINNHUB_API_KEY:-}
|
|
# Override allowed CORS origins (comma-separated). Auto-detects LAN IPs if empty.
|
|
- CORS_ORIGINS=${CORS_ORIGINS:-}
|
|
# Default public Infonet seed used for pull-only sync by fresh installs.
|
|
- MESH_DEFAULT_SYNC_PEERS=${MESH_DEFAULT_SYNC_PEERS:-https://node.shadowbroker.info}
|
|
# Operator-trusted sync/push peers. Leave empty unless you control the peer secret on both sides.
|
|
- MESH_RELAY_PEERS=${MESH_RELAY_PEERS:-}
|
|
# Shared transport auth for operator peer push. Must be set to a unique secret per deployment.
|
|
- MESH_PEER_PUSH_SECRET=${MESH_PEER_PUSH_SECRET:-}
|
|
volumes:
|
|
- backend_data:/app/data
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000/api/health"]
|
|
interval: 15s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 2G
|
|
cpus: '2'
|
|
|
|
frontend:
|
|
image: ghcr.io/bigbodycobain/shadowbroker-frontend:latest
|
|
container_name: shadowbroker-frontend
|
|
ports:
|
|
- "${BIND:-127.0.0.1}:3000:3000"
|
|
environment:
|
|
# Points the Next.js server-side proxy at the backend container via Docker networking.
|
|
# Change this if your backend runs on a different host or port.
|
|
- BACKEND_URL=http://backend:8000
|
|
depends_on:
|
|
backend:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:3000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 20s
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: '1'
|
|
|
|
volumes:
|
|
backend_data:
|