# Deliberately a SEPARATE compose project from wolfbot-platform/docker-compose.yml # (own COMPOSE_PROJECT_NAME=wolfbot-community, see scripts/rebuild_community.sh) -- # joins the same wolfbot_platform_net external network only for connectivity, # so wolfbot-platform's rebuild_platform.sh (which runs unscoped `compose # down --remove-orphans` / `compose build` / `compose up -d` over its own # project) never sees, stops, or rebuilds this container as a side effect of # an unrelated wolfbot.io platform deploy. Two independent lifecycles, one # shared network for nginx's proxy_pass http://community:80. services: community: build: context: . dockerfile: Dockerfile image: wolfbot-community:latest container_name: community restart: unless-stopped networks: wolfbot-network: aliases: - community # WOLFBOT_COMMUNITY_TRADINGVIEW_RELAY_PLAN_V1.md sec 3: the "Hosted # Community Relay" default in the Integrations UI needs a real backend # running at community.wolfbot.io to receive # https://community.wolfbot.io/relay/tradingview/{relay_token} and # /api/v1/community-relay/*. It reuses the exact same product image and # "relay" runtime mode as the self-hostable bundle in ../community-relay/ # (own SQLite DB, own Redis, COMMUNITY_RELAY_AGENT_ENABLED=0 since this is # the relay server, not a local Community install's outbound agent) -- # same protocol, same code path, just running under the WolfBot-hosted # domain instead of a user's own VPS. Copy `.env.example` to `.env` in # this directory before first `docker compose up` (COMPOSE_PROJECT_NAME= # wolfbot-community auto-loads a `.env` here the same way any other # compose project does); WOLFBOT_RELAY_SECRET_KEY/WOLFBOT_RELAY_JWT_SECRET_KEY # have no default on purpose -- compose refuses to start rather than # silently reusing a placeholder secret in production. relay: image: ${WOLFBOT_RELAY_IMAGE:-ghcr.io/wolfbot-io/wolfbot-webui:0.1.0-beta.2} container_name: community-relay restart: unless-stopped environment: APP_ENV: relay DEBUG: "false" PUBLIC_BASE_URL: ${WOLFBOT_RELAY_PUBLIC_BASE_URL:-https://community.wolfbot.io} DATABASE_URL: sqlite:////var/lib/wolfbot-relay/platform.db REDIS_URL: redis://relay-redis:6379/0 SECRET_KEY: ${WOLFBOT_RELAY_SECRET_KEY:?set WOLFBOT_RELAY_SECRET_KEY in wolfbot-community/.env} JWT_SECRET_KEY: ${WOLFBOT_RELAY_JWT_SECRET_KEY:?set WOLFBOT_RELAY_JWT_SECRET_KEY in wolfbot-community/.env} COMMUNITY_RELAY_ENABLED: "1" COMMUNITY_RELAY_AGENT_ENABLED: "0" COMMUNITY_RELAY_DEFAULT_BASE_URL: ${WOLFBOT_RELAY_PUBLIC_BASE_URL:-https://community.wolfbot.io} volumes: - relay-data:/var/lib/wolfbot-relay depends_on: relay-redis: condition: service_healthy networks: wolfbot-network: aliases: - relay relay-redis: image: redis:7-alpine container_name: community-relay-redis restart: unless-stopped command: ["redis-server", "--save", "", "--appendonly", "no"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 20 volumes: - relay-redis-data:/data networks: wolfbot-network: aliases: - relay-redis networks: wolfbot-network: external: true name: wolfbot_platform_net volumes: relay-data: relay-redis-data: