services: postgres: image: postgres:17.4-alpine container_name: ai_trading_db restart: always ports: - 20001:5432 entrypoint: - /scripts/db-lanuch-entrypoint.sh environment: POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} TZ: ${TZ} volumes: - ./shared_data/ai_trading_db:/var/lib/postgresql/data - ./sql:/docker-entrypoint-initdb.d - ./scripts:/scripts networks: - ai-trading-network ai_trading: image: rust:1.92.0-alpine3.23 container_name: ai_trading_api restart: always ports: - 20000:80 depends_on: - postgres networks: - ai-trading-network environment: DB_HOST: postgres DB_PORT: ${DB_PORT} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} DB_NAME: ${DB_NAME} TZ: ${TZ} volumes: - ./src:/app command: sh -c "cd /app && go mod tidy && go run main.go" networks: asset_assistant-network: driver: bridge volumes: {}