docker-compose.yml
Rama main · réplica de lectura del repositorio original.
# 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: