수정본
Some checks failed
CI/CD Pipeline / test-backend (push) Has been cancelled
CI/CD Pipeline / test-frontend (push) Has been cancelled
CI/CD Pipeline / build-and-push (push) Has been cancelled

This commit is contained in:
2026-03-27 14:47:49 +09:00
parent 844ee8944f
commit c818810667
25 changed files with 2708 additions and 266 deletions

View File

@@ -20,12 +20,16 @@ services:
interval: 10s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 1G
# Redis Cache
redis:
image: redis:7-alpine
container_name: autostock-redis
command: redis-server --requirepass ${REDIS_PASSWORD:-autostock_redis_change_me}
command: redis-server --requirepass ${REDIS_PASSWORD:-autostock_redis_change_me} --maxmemory 200mb --maxmemory-policy allkeys-lru
environment:
TZ: Asia/Seoul
ports:
@@ -39,6 +43,10 @@ services:
interval: 10s
timeout: 3s
retries: 5
deploy:
resources:
limits:
memory: 256M
# RabbitMQ Message Queue
rabbitmq:
@@ -61,6 +69,10 @@ services:
interval: 30s
timeout: 10s
retries: 5
deploy:
resources:
limits:
memory: 512M
# MCP Server
mcp-server:
@@ -70,16 +82,20 @@ services:
container_name: autostock-mcp-server
environment:
- TZ=Asia/Seoul
- AI_PROVIDER=${AI_PROVIDER:-gemini}
- AI_PROVIDER=${AI_PROVIDER:-claude}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- GEMINI_MODEL=${GEMINI_MODEL:-gemini-2.0-flash}
- CLAUDE_MODEL=${CLAUDE_MODEL:-claude-sonnet-4-6-20250514}
- CLAUDE_HAIKU_MODEL=${CLAUDE_HAIKU_MODEL:-claude-haiku-4-5-20251001}
- HYBRID_AI_ENABLED=${HYBRID_AI_ENABLED:-true}
- MCP_API_KEY=${MCP_API_KEY}
- MCP_SERVER_HOST=${MCP_SERVER_HOST}
- MCP_SERVER_PORT=${MCP_SERVER_PORT}
- DATABASE_URL=${DATABASE_URL}
- REDIS_URL=${REDIS_URL}
- LOG_LEVEL=${LOG_LEVEL}
- TOKEN_SAVE_MODE=${TOKEN_SAVE_MODE:-true}
ports:
- "127.0.0.1:8001:8001"
networks:
@@ -90,6 +106,10 @@ services:
redis:
condition: service_healthy
restart: unless-stopped
deploy:
resources:
limits:
memory: 256M
# Backend API Server
backend:
@@ -113,7 +133,8 @@ services:
- KIS_REAL_URL=${KIS_REAL_URL:-https://openapi.koreainvestment.com:9443}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- AI_PROVIDER=${AI_PROVIDER:-gemini}
- AI_PROVIDER=${AI_PROVIDER:-claude}
- HYBRID_AI_ENABLED=${HYBRID_AI_ENABLED:-true}
- API_KEY=${API_KEY:-}
- MCP_API_KEY=${MCP_API_KEY:-}
- SECRET_KEY=${SECRET_KEY}
@@ -122,12 +143,16 @@ services:
- MCP_SERVER_URL=http://mcp-server:8001
- NEWS_API_KEY=${NEWS_API_KEY:-}
- LOG_LEVEL=${LOG_LEVEL}
- TOKEN_SAVE_MODE=${TOKEN_SAVE_MODE:-true}
- AUTO_TRADE_ENABLED=${AUTO_TRADE_ENABLED:-true}
- DAY_TRADE_ENABLED=${DAY_TRADE_ENABLED:-true}
- US_TRADING_ENABLED=${US_TRADING_ENABLED:-false}
- KIS_WS_ENABLED=${KIS_WS_ENABLED:-true}
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
- TELEGRAM_CHAT_ID=${TELEGRAM_CHAT_ID:-}
ports:
- "127.0.0.1:8000:8000"
volumes:
- ./backend:/app
- /app/__pycache__
- ./logs:/logs
networks:
- autostock-network
@@ -141,6 +166,10 @@ services:
mcp-server:
condition: service_started
restart: unless-stopped
deploy:
resources:
limits:
memory: 768M
# PostgreSQL 자동 백업 (매일 02:00 KST, 7일치 보관)
postgres-backup:
@@ -184,6 +213,10 @@ services:
depends_on:
- backend
restart: unless-stopped
deploy:
resources:
limits:
memory: 64M
volumes:
postgres_data: