Files
sac4cps-backend/microservices/docker-compose.yml
rafaeldpsilva 6ed61b06e8 update
2025-12-20 00:36:48 +00:00

152 lines
4.4 KiB
YAML

version: "3.8"
services:
# API Gateway
api-gateway:
build:
context: ./api-gateway
dockerfile: Dockerfile
container_name: api-gateway
restart: unless-stopped
ports:
- "8000:8000"
environment:
- MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard?authSource=admin
- REDIS_URL=redis://redis:6379
- TOKEN_SERVICE_URL=http://token-service:8001
- SENSOR_SERVICE_URL=http://sensor-service:8007
- BATTERY_SERVICE_URL=http://battery-service:8002
- DEMAND_RESPONSE_SERVICE_URL=http://demand-response-service:8003
- P2P_TRADING_SERVICE_URL=http://p2p-trading-service:8004
- FORECASTING_SERVICE_URL=http://forecasting-service:8005
- IOT_CONTROL_SERVICE_URL=http://iot-control-service:8006
- DATA_INGESTION_SERVICE_URL=http://data-ingestion-service:8008
networks:
- energy-network
# Token Management Service
# Battery Management Service
# battery-service:
# build:
# context: ./battery-service
# dockerfile: Dockerfile
# container_name: battery-service
# restart: unless-stopped
# ports:
# - "8002:8002"
# environment:
# - MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_batteries?authSource=admin
# - REDIS_URL=redis://redis:6379
# networks:
# - energy-network
# Demand Response Service
demand-response-service:
build:
context: ./demand-response-service
dockerfile: Dockerfile
container_name: demand-response-service
restart: unless-stopped
ports:
- "8003:8003"
environment:
- MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_demand_response?authSource=admin
- REDIS_URL=redis://redis:6379
- SENSOR_SERVICE_URL=http://sensor-service:8007
networks:
- energy-network
# P2P Trading Service
# p2p-trading-service:
# build:
# context: ./p2p-trading-service
# dockerfile: Dockerfile
# container_name: p2p-trading-service
# restart: unless-stopped
# ports:
# - "8004:8004"
# environment:
# - MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_p2p?authSource=admin
# - REDIS_URL=redis://redis:6379
# networks:
# - energy-network
# Forecasting Service
# forecasting-service:
# build:
# context: ./forecasting-service
# dockerfile: Dockerfile
# container_name: forecasting-service
# restart: unless-stopped
# ports:
# - "8005:8005"
# environment:
# - MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_forecasting?authSource=admin
# - REDIS_URL=redis://redis:6379
# networks:
# - energy-network
# IoT Control Service
# iot-control-service:
# build:
# context: ./iot-control-service
# dockerfile: Dockerfile
# container_name: iot-control-service
# restart: unless-stopped
# ports:
# - "8006:8006"
# environment:
# - MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_iot?authSource=admin
# - REDIS_URL=redis://redis:6379
# - BATTERY_SERVICE_URL=http://battery-service:8002
# - DEMAND_RESPONSE_SERVICE_URL=http://demand-response-service:8003
# networks:
# - energy-network
data-ingestion-service:
build:
context: ./data-ingestion-service
dockerfile: Dockerfile
container_name: data-ingestion-service
restart: unless-stopped
ports:
- "8008:8008"
environment:
- MONGO_URL=mongodb://admin:password123@mongodb:27017/
- FTP_SA4CPS_HOST=ftp.sa4cps.pt
- FTP_SA4CPS_PORT=21
- FTP_SA4CPS_USERNAME=curvascarga@sa4cps.pt
- FTP_SA4CPS_REMOTE_PATH=/SLGs/
- FTP_CHECK_INTERVAL=21600
- FTP_SKIP_INITIAL_SCAN=true
networks:
- energy-network
# Sensor Management Service (Original Dashboard Functionality)
sensor-service:
build:
context: ./sensor-service
dockerfile: Dockerfile
container_name: sensor-service
restart: unless-stopped
ports:
- "8007:8007"
environment:
- MONGO_URL=mongodb://admin:password123@mongodb:27017/energy_dashboard_sensors?authSource=admin
- REDIS_URL=redis://redis:6379
# - TOKEN_SERVICE_URL=http://token-service:8001
networks:
- energy-network
networks:
energy-network:
driver: bridge
name: energy-network
volumes:
mongodb_data:
name: energy-mongodb-data
redis_data:
name: energy-redis-data