56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
tradingagents:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: tradingagents
|
|
ports:
|
|
- "8000:8000"
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
# Mount data directories for persistence
|
|
- ./data:/app/data
|
|
- ./eval_results:/app/eval_results
|
|
- ./portfolio_data:/app/portfolio_data
|
|
# Mount code for development (optional)
|
|
# - ./tradingagents:/app/tradingagents
|
|
restart: unless-stopped
|
|
networks:
|
|
- tradingagents-network
|
|
|
|
# Optional: Jupyter notebook for analysis
|
|
jupyter:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: tradingagents-jupyter
|
|
ports:
|
|
- "8888:8888"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# SECURITY: Set JUPYTER_TOKEN in .env file to enable authentication
|
|
# Generate a token: python -c "from jupyter_server.auth import passwd; print(passwd())"
|
|
- JUPYTER_TOKEN=${JUPYTER_TOKEN:-changeme}
|
|
volumes:
|
|
- ./:/app
|
|
- ./notebooks:/app/notebooks
|
|
command: jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root --ServerApp.token='${JUPYTER_TOKEN:-changeme}'
|
|
restart: unless-stopped
|
|
networks:
|
|
- tradingagents-network
|
|
profiles:
|
|
- jupyter
|
|
|
|
networks:
|
|
tradingagents-network:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
data:
|
|
eval_results:
|
|
portfolio_data:
|