Files
AlphaPulse/deploy/docker-compose.yml
T
eezd d79a10c2e6
Development CI / check-and-build (push) Successful in 2m53s
GitHub Git mirror / mirror (push) Successful in 7s
Development CI / deploy-development (push) Successful in 2m31s
refactor(news): remove retired research workflow
2026-11-05 18:38:25 +08:00

76 lines
2.1 KiB
YAML

# Run through scripts/deploy.py so every deployment shares the instance lock.
name: alphapulse-dev
x-backend: &backend
image: ${ALPHAPULSE_BACKEND_IMAGE:?Set a verified backend version tag}
env_file: .env
restart: unless-stopped
stop_grace_period: 60s
networks: [dev_default]
services:
searxng:
image: docker.io/searxng/searxng:2026.10.30-ffa88e3ba
restart: unless-stopped
volumes: [./searxng.yml:/etc/searxng/settings.yml:ro]
networks: [dev_default]
api:
<<: *backend
container_name: AlphaPulse-dev-api
command: [uvicorn, alphapulse.api.main:app, --host, 0.0.0.0, --port, "8000", --proxy-headers, --forwarded-allow-ips, "172.18.0.0/16"]
healthcheck:
test: [CMD, python, -c, "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/health', timeout=3)"]
interval: 5s
timeout: 4s
retries: 12
crawler:
<<: *backend
container_name: AlphaPulse-dev-crawler
command: [python, -m, alphapulse.crawler.manager]
market:
<<: *backend
container_name: AlphaPulse-dev-market
command: [python, -m, alphapulse.market.worker]
trader:
<<: *backend
container_name: AlphaPulse-dev-trader
command: [python, -m, alphapulse.trading.engine]
news-risk:
<<: *backend
container_name: AlphaPulse-dev-news-risk
command: [python, -m, alphapulse.news_research.worker]
calendar:
<<: *backend
container_name: AlphaPulse-dev-calendar
command: [python, -m, alphapulse.calendar.worker]
jin10-calendar:
<<: *backend
container_name: AlphaPulse-dev-jin10-calendar
command: [python, -m, alphapulse.calendar.jin10_worker]
web:
image: ${ALPHAPULSE_WEB_IMAGE:?Set a verified web version tag}
container_name: AlphaPulse-dev
restart: unless-stopped
depends_on:
api:
condition: service_healthy
healthcheck:
test: [CMD, wget, -q, -O, /dev/null, "http://127.0.0.1/api/health"]
interval: 5s
timeout: 4s
retries: 12
ports:
- 127.0.0.1:21005:80
networks: [dev_default]
networks:
dev_default:
external: true