feat: dockerfiles and full docker-compose orchestration
Add multi-stage Dockerfiles for Python services (Dockerfile.service) and React dashboard (Dockerfile.dashboard + nginx.conf). Update docker-compose.yml with all seven application services: news-fetcher, sentiment-analyzer, signal-generator, trade-executor, learning-engine, api-gateway, and dashboard.
This commit is contained in:
parent
e470055354
commit
b255b3edbe
4 changed files with 250 additions and 0 deletions
|
|
@ -1,4 +1,7 @@
|
|||
services:
|
||||
# ---------------------------------------------------------------------------
|
||||
# Infrastructure
|
||||
# ---------------------------------------------------------------------------
|
||||
postgres:
|
||||
image: timescale/timescaledb:latest-pg16
|
||||
environment:
|
||||
|
|
@ -34,6 +37,111 @@ services:
|
|||
volumes:
|
||||
- ollama_models:/root/.ollama
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Application services
|
||||
# ---------------------------------------------------------------------------
|
||||
news-fetcher:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "news"
|
||||
SERVICE_MODULE: "news_fetcher"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
sentiment-analyzer:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "sentiment"
|
||||
SERVICE_MODULE: "sentiment_analyzer"
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
ollama:
|
||||
condition: service_started
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
signal-generator:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "trading"
|
||||
SERVICE_MODULE: "signal_generator"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
trade-executor:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "trading"
|
||||
SERVICE_MODULE: "trade_executor"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
learning-engine:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "trading"
|
||||
SERVICE_MODULE: "learning_engine"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
api-gateway:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.service
|
||||
args:
|
||||
EXTRAS: "api,trading,backtester"
|
||||
SERVICE_MODULE: "api_gateway"
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- "8000:8000"
|
||||
env_file: .env
|
||||
restart: unless-stopped
|
||||
|
||||
dashboard:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: docker/Dockerfile.dashboard
|
||||
depends_on:
|
||||
- api-gateway
|
||||
ports:
|
||||
- "3000:80"
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
redisdata:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue