feat: docker compose infrastructure — postgres+timescaledb, redis, ollama
This commit is contained in:
parent
0ac9884b89
commit
75c8d5d203
3 changed files with 100 additions and 0 deletions
23
.env.example
Normal file
23
.env.example
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# PostgreSQL
|
||||
POSTGRES_PASSWORD=trading
|
||||
|
||||
# Trading Bot
|
||||
TRADING_DATABASE_URL=postgresql+asyncpg://trading:trading@localhost:5432/trading
|
||||
TRADING_REDIS_URL=redis://localhost:6379/0
|
||||
TRADING_LOG_LEVEL=INFO
|
||||
|
||||
# Alpaca (paper trading)
|
||||
ALPACA_API_KEY=your_api_key_here
|
||||
ALPACA_SECRET_KEY=your_secret_key_here
|
||||
ALPACA_BASE_URL=https://paper-api.alpaca.markets
|
||||
|
||||
# JWT
|
||||
JWT_SECRET_KEY=change-me-in-production
|
||||
|
||||
# Reddit (for news fetcher)
|
||||
REDDIT_CLIENT_ID=your_client_id
|
||||
REDDIT_CLIENT_SECRET=your_client_secret
|
||||
REDDIT_USER_AGENT=trading-bot/0.1
|
||||
|
||||
# Ollama
|
||||
OLLAMA_HOST=http://localhost:11434
|
||||
37
.gitignore
vendored
Normal file
37
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
*.egg-info/
|
||||
*.egg
|
||||
.eggs/
|
||||
dist/
|
||||
build/
|
||||
.venv/
|
||||
venv/
|
||||
*.whl
|
||||
|
||||
# Node
|
||||
node_modules/
|
||||
dashboard/dist/
|
||||
dashboard/build/
|
||||
|
||||
# Secrets
|
||||
.env
|
||||
*.pem
|
||||
|
||||
# IDE
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Data
|
||||
*.db
|
||||
*.sqlite3
|
||||
40
docker-compose.yml
Normal file
40
docker-compose.yml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
services:
|
||||
postgres:
|
||||
image: timescale/timescaledb:latest-pg16
|
||||
environment:
|
||||
POSTGRES_USER: trading
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-trading}
|
||||
POSTGRES_DB: trading
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U trading"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
ports:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redisdata:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
ollama:
|
||||
image: ollama/ollama:latest
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ollama_models:/root/.ollama
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
redisdata:
|
||||
ollama_models:
|
||||
Loading…
Add table
Add a link
Reference in a new issue