| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| services: |
|
|
| worldmonitor: |
| build: |
| context: . |
| dockerfile: Dockerfile |
| image: worldmonitor:latest |
| container_name: worldmonitor |
| ports: |
| - "${WM_PORT:-3000}:8080" |
| environment: |
| UPSTASH_REDIS_REST_URL: "http://redis-rest:80" |
| UPSTASH_REDIS_REST_TOKEN: "${REDIS_TOKEN:?REDIS_TOKEN required β generate with: openssl rand -hex 32}" |
| LOCAL_API_PORT: "46123" |
| LOCAL_API_MODE: "docker" |
| LOCAL_API_CLOUD_FALLBACK: "false" |
| WS_RELAY_URL: "http://ais-relay:3004" |
| |
| LLM_API_URL: "${LLM_API_URL:-}" |
| LLM_API_KEY: "${LLM_API_KEY:-}" |
| LLM_MODEL: "${LLM_MODEL:-}" |
| GROQ_API_KEY: "${GROQ_API_KEY:-}" |
| OPENROUTER_API_KEY: "${OPENROUTER_API_KEY:-}" |
| |
| AISSTREAM_API_KEY: "${AISSTREAM_API_KEY:-}" |
| FINNHUB_API_KEY: "${FINNHUB_API_KEY:-}" |
| EIA_API_KEY: "${EIA_API_KEY:-}" |
| FRED_API_KEY: "${FRED_API_KEY:-}" |
| ACLED_EMAIL: "${ACLED_EMAIL:-}" |
| ACLED_PASSWORD: "${ACLED_PASSWORD:-}" |
| ACLED_ACCESS_TOKEN: "${ACLED_ACCESS_TOKEN:-}" |
| NASA_FIRMS_API_KEY: "${NASA_FIRMS_API_KEY:-}" |
| CLOUDFLARE_API_TOKEN: "${CLOUDFLARE_API_TOKEN:-}" |
| AVIATIONSTACK_API: "${AVIATIONSTACK_API:-}" |
| TRAVELPAYOUTS_API_TOKEN: "${TRAVELPAYOUTS_API_TOKEN:-}" |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| depends_on: |
| redis-rest: |
| condition: service_started |
| ais-relay: |
| condition: service_started |
| restart: unless-stopped |
|
|
| ais-relay: |
| build: |
| context: . |
| dockerfile: Dockerfile.relay |
| image: worldmonitor-ais-relay:latest |
| container_name: worldmonitor-ais-relay |
| environment: |
| AISSTREAM_API_KEY: "${AISSTREAM_API_KEY:-}" |
| FINNHUB_API_KEY: "${FINNHUB_API_KEY:-}" |
| MARKET_YAHOO_REFRESH_INTERVAL_MS: "${MARKET_YAHOO_REFRESH_INTERVAL_MS:-900000}" |
| UPSTASH_REDIS_REST_URL: "http://redis-rest:80" |
| UPSTASH_REDIS_REST_TOKEN: "${REDIS_TOKEN:?REDIS_TOKEN required β generate with: openssl rand -hex 32}" |
| UPSTASH_ALLOW_INSECURE_HTTP: "true" |
| UCDP_ACCESS_TOKEN: "${UCDP_ACCESS_TOKEN:-}" |
| PORT: "3004" |
| depends_on: |
| redis-rest: |
| condition: service_started |
| restart: unless-stopped |
|
|
| redis: |
| image: docker.io/redis:7-alpine |
| container_name: worldmonitor-redis |
| |
| |
| |
| command: > |
| redis-server |
| --requirepass "${REDIS_PASSWORD:?REDIS_PASSWORD required β generate with: openssl rand -hex 32}" |
| --maxmemory 256mb |
| --maxmemory-policy allkeys-lru |
| volumes: |
| - redis-data:/data |
| restart: unless-stopped |
|
|
| redis-rest: |
| build: |
| context: docker |
| dockerfile: Dockerfile.redis-rest |
| image: worldmonitor-redis-rest:latest |
| container_name: worldmonitor-redis-rest |
| ports: |
| - "127.0.0.1:8079:80" |
| environment: |
| SRH_TOKEN: "${REDIS_TOKEN:?REDIS_TOKEN required β generate with: openssl rand -hex 32}" |
| |
| |
| |
| |
| SRH_CONNECTION_STRING: "redis://:${REDIS_PASSWORD:?REDIS_PASSWORD required β generate with: openssl rand -hex 32}@redis:6379" |
| depends_on: |
| - redis |
| restart: unless-stopped |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| volumes: |
| redis-data: |
|
|