feat(docker): deploy su VPS via traefik con cerbero-mcp interno
Dockerfile multi-stage (python:3.13-slim + uv) e docker-compose con due servizi che condividono l'immagine: - multi-swarm-paper: runner long-running scripts/run_paper_trading.py - multi-swarm-dashboard: Streamlit su https://swarm.${DOMAIN_NAME} Cerbero raggiunto via rete docker interna (http://cerbero-mcp:9000) saltando il giro pubblico traefik+TLS. Persistenza via bind mount su data/, series/, state/ (runs.db con WAL), strategies/ in read-only. .env.example aggiornato con DOMAIN_NAME, SWARM_DASHBOARD_PORT (porta interna parametrizzabile) e i PAPER_* per override del command. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# Git
|
||||
.git
|
||||
.gitignore
|
||||
.gitattributes
|
||||
|
||||
# Python caches
|
||||
__pycache__
|
||||
*.py[cod]
|
||||
*.egg-info
|
||||
.venv
|
||||
venv
|
||||
.pytest_cache
|
||||
.mypy_cache
|
||||
.ruff_cache
|
||||
|
||||
# Editors / OS
|
||||
.vscode
|
||||
.idea
|
||||
.DS_Store
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# Secrets — montati via env_file nel compose, mai dentro l'immagine
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
*.pem
|
||||
*.key
|
||||
|
||||
# Artefatti runtime — vivono come bind mount, non nell'immagine
|
||||
runs.db
|
||||
runs.db-journal
|
||||
runs.db-wal
|
||||
runs.db-shm
|
||||
data/
|
||||
series/
|
||||
state/
|
||||
*.parquet
|
||||
*.feather
|
||||
checkpoints/
|
||||
logs/
|
||||
*.log
|
||||
|
||||
# Build / dist
|
||||
build/
|
||||
dist/
|
||||
|
||||
# Docs grandi — non servono in immagine
|
||||
docs/
|
||||
*.md
|
||||
!README.md
|
||||
|
||||
# Test — non servono in runtime (l'immagine non gira pytest)
|
||||
tests/
|
||||
|
||||
# OMC / claude metadata
|
||||
.omc/
|
||||
.claude/
|
||||
Reference in New Issue
Block a user