feat: rename tak to int, add worldmonitor stack
This commit is contained in:
177
int/compose.yml
Normal file
177
int/compose.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
# =============================================================================
|
||||
# Integrations stack
|
||||
# =============================================================================
|
||||
# Currently running: WorldMonitor
|
||||
# Planned: TAK server (commented out — needs fixing)
|
||||
# =============================================================================
|
||||
|
||||
# ── TAK Server (FreeTAKServer) ──
|
||||
# Disabled: needs debugging. Was having connectivity/auth issues.
|
||||
# See: https://github.com/FreeTAKTeam/FreeTAKServer
|
||||
#
|
||||
# services:
|
||||
# freetakserver:
|
||||
# image: ghcr.io/freetakteam/freetakserver:master
|
||||
# container_name: freetakserver
|
||||
# hostname: freetakserver
|
||||
# restart: always
|
||||
# networks:
|
||||
# - int_backend
|
||||
# volumes:
|
||||
# - /mnt/HoardingCow_docker_data/TAK/fts_data:/opt/fts:z,rw
|
||||
# ports:
|
||||
# - 8087:8087
|
||||
# - 8089:8089
|
||||
# - 8443:8443
|
||||
# - 9000:9000
|
||||
# - 19023:19023
|
||||
# environment:
|
||||
# FTS_FED_PASSWORD: "${FTS_FED_PASSWORD}"
|
||||
# FTS_CLIENT_CERT_PASSWORD: "${FTS_CLIENT_CERT_PASSWORD}"
|
||||
# FTS_WEBSOCKET_KEY: "${FTS_WEBSOCKET_KEY}"
|
||||
# FTS_SECRET_KEY: "${FTS_SECRET_KEY}"
|
||||
# FTS_CONNECTION_MESSAGE: "Welcome to FreeTAKServer. The Parrot is not dead. It's just resting"
|
||||
# FTS_COT_PORT: 8087
|
||||
# FTS_SSLCOT_PORT: 8089
|
||||
# FTS_API_PORT: 19023
|
||||
# FTS_FED_PORT: 9000
|
||||
# FTS_DP_ADDRESS: 'freetakserver'
|
||||
# FTS_USER_ADDRESS: 'freetakserver'
|
||||
# FTS_API_ADDRESS: 'freetakserver'
|
||||
# FTS_ROUTING_PROXY_SUBSCRIBE_PORT: 19030
|
||||
# FTS_ROUTING_PROXY_SUBSCRIBE_IP: 'freetakserver'
|
||||
# FTS_ROUTING_PROXY_PUBLISHER_PORT: 19032
|
||||
# FTS_ROUTING_PROXY_PUBLISHER_IP: 'freetakserver'
|
||||
# FTS_ROUTING_PROXY_SERVER_PORT: 19031
|
||||
# FTS_ROUTING_PROXY_SERVER_IP: 'freetakserver'
|
||||
# FTS_INTEGRATION_MANAGER_PULLER_PORT: 19033
|
||||
# FTS_INTEGRATION_MANAGER_PULLER_ADDRESS: 'freetakserver'
|
||||
# FTS_INTEGRATION_MANAGER_PUBLISHER_PORT: 19034
|
||||
# FTS_INTEGRATION_MANAGER_PUBLISHER_ADDRESS: 'freetakserver'
|
||||
# FTS_OPTIMIZE_API: "True"
|
||||
# FTS_DATA_RECEPTION_BUFFER: 1024
|
||||
# FTS_MAX_RECEPTION_TIME: 4
|
||||
# FTS_NUM_ROUTING_WORKERS: 3
|
||||
# FTS_COT_TO_DB: "True"
|
||||
# FTS_MAINLOOP_DELAY: 100
|
||||
# FTS_EMERGENCY_RADIUS: 0
|
||||
# FTS_LOG_LEVEL: "info"
|
||||
#
|
||||
# freetakserver-ui:
|
||||
# image: ghcr.io/freetakteam/ui:latest
|
||||
# container_name: freetakserver-ui
|
||||
# hostname: freetakserver-ui
|
||||
# restart: always
|
||||
# networks:
|
||||
# - int_net
|
||||
# ports:
|
||||
# - 5000:5000
|
||||
# volumes:
|
||||
# - /mnt/HoardingCow_docker_data/TAK/fts_ui_data:/home/freetak/data:z,rw
|
||||
# environment:
|
||||
# FTS_IP: "freetakserver"
|
||||
# FTS_API_PORT: 19023
|
||||
# FTS_API_PROTO: 'http'
|
||||
# FTS_UI_EXPOSED_IP: 'freetakserver-ui'
|
||||
# FTS_MAP_EXPOSED_IP: '127.0.0.1'
|
||||
# FTS_MAP_PORT: 8000
|
||||
# FTS_MAP_PROTO: 'http'
|
||||
# FTS_UI_PORT: 5000
|
||||
# FTS_UI_WSKEY: "${FTS_WEBSOCKET_KEY}"
|
||||
# FTS_API_KEY: 'Bearer token'
|
||||
# FTS_UI_SQLALCHEMY_DATABASE_URI: 'sqlite:////home/freetak/data/FTSServer-UI.db'
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.docker.network=traefik-net"
|
||||
# - "traefik.http.routers.fts-ui-http.rule=Host(`tak.lazyworkhorse.net`)"
|
||||
# - "traefik.http.routers.fts-ui-http.entrypoints=web"
|
||||
# - "traefik.http.routers.fts-ui-http.middlewares=redirect-to-https"
|
||||
# - "traefik.http.routers.fts-ui-https.rule=Host(`tak.lazyworkhorse.net`)"
|
||||
# - "traefik.http.routers.fts-ui-https.entrypoints=websecure"
|
||||
# - "traefik.http.routers.fts-ui-https.tls=true"
|
||||
# - "traefik.http.routers.fts-ui-https.tls.certresolver=njalla"
|
||||
# - "traefik.http.services.fts-ui.loadbalancer.server.port=5000"
|
||||
# - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
|
||||
|
||||
# ── WorldMonitor ──
|
||||
# Real-time global intelligence dashboard
|
||||
# Repo: https://github.com/koala73/worldmonitor
|
||||
# Self-hosted, map-first OSINT with MCP support (39 tools)
|
||||
services:
|
||||
|
||||
worldmonitor:
|
||||
build:
|
||||
context: https://github.com/koala73/worldmonitor.git
|
||||
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}"
|
||||
LOCAL_API_PORT: "46123"
|
||||
LOCAL_API_MODE: "docker"
|
||||
LOCAL_API_CLOUD_FALLBACK: "false"
|
||||
WS_RELAY_URL: "http://ais-relay:3004"
|
||||
# LLM providers (optional — features degrade gracefully)
|
||||
LLM_API_URL: "${LLM_API_URL:-}"
|
||||
LLM_API_KEY: "${LLM_API_KEY:-}"
|
||||
LLM_MODEL: "${LLM_MODEL:-}"
|
||||
GROQ_API_KEY: "${GROQ_API_KEY:-}"
|
||||
# Data source API keys (optional — features degrade gracefully)
|
||||
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_ACCESS_TOKEN: "${ACLED_ACCESS_TOKEN:-}"
|
||||
NASA_FIRMS_API_KEY: "${NASA_FIRMS_API_KEY:-}"
|
||||
CLOUDFLARE_API_TOKEN: "${CLOUDFLARE_API_TOKEN:-}"
|
||||
AVIATIONSTACK_API: "${AVIATIONSTACK_API:-}"
|
||||
depends_on:
|
||||
redis-rest:
|
||||
condition: service_started
|
||||
ais-relay:
|
||||
condition: service_started
|
||||
restart: unless-stopped
|
||||
|
||||
ais-relay:
|
||||
build:
|
||||
context: https://github.com/koala73/worldmonitor.git
|
||||
dockerfile: Dockerfile.relay
|
||||
image: worldmonitor-ais-relay:latest
|
||||
container_name: worldmonitor-ais-relay
|
||||
environment:
|
||||
AISSTREAM_API_KEY: "${AISSTREAM_API_KEY:-}"
|
||||
PORT: "3004"
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
image: docker.io/redis:7-alpine
|
||||
container_name: worldmonitor-redis
|
||||
command: >
|
||||
redis-server
|
||||
--requirepass "${REDIS_PASSWORD:?REDIS_PASSWORD required}"
|
||||
--maxmemory 256mb
|
||||
--maxmemory-policy allkeys-lru
|
||||
volumes:
|
||||
- wm-redis-data:/data
|
||||
restart: unless-stopped
|
||||
|
||||
redis-rest:
|
||||
build:
|
||||
context: https://github.com/koala73/worldmonitor.git
|
||||
dockerfile: docker/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}"
|
||||
SRH_CONNECTION_STRING: "redis://:${REDIS_PASSWORD:?REDIS_PASSWORD required}@redis:6379"
|
||||
depends_on:
|
||||
- redis
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
wm-redis-data:
|
||||
Reference in New Issue
Block a user