services: mongodb: image: mongo:7.0 container_name: taas-mongodb restart: unless-stopped ports: - "27017:27017" environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: changeme MONGO_INITDB_DATABASE: free5gc volumes: - mongodb_data:/data/db networks: - taas-network redis: image: redis:9-alpine container_name: taas-redis restart: unless-stopped ports: - "6379:6379" command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru volumes: - redis_data:/data networks: - taas-network api-server: build: context: . dockerfile: deployments/docker/api-server.Dockerfile container_name: taas-api-server restart: unless-stopped ports: - "8000:8000" environment: MONGODB_URI: mongodb://admin:changeme@mongodb:27017/free5gc REDIS_URI: redis://redis:6379 API_PORT: 8000 GIN_MODE: release depends_on: - mongodb - redis networks: - taas-network carrier-connector: build: context: . dockerfile: deployments/docker/carrier-connector.Dockerfile container_name: taas-carrier-connector restart: unless-stopped environment: SMDP_URL: https://smdp.example.com SMDP_API_KEY: your-api-key networks: - taas-network charging-engine: build: context: . dockerfile: deployments/docker/charging-engine.Dockerfile container_name: taas-charging-engine restart: unless-stopped ports: - "8080:8080" environment: REDIS_URI: redis://redis:6379 SERVER_PORT: 8080 RUST_LOG: info depends_on: - redis networks: - taas-network web-dashboard: build: context: . dockerfile: deployments/docker/web-dashboard.Dockerfile container_name: taas-web-dashboard restart: unless-stopped ports: - "3000:3000" environment: NEXT_PUBLIC_API_URL: http://api-server:8000 depends_on: - api-server networks: - taas-network volumes: mongodb_data: driver: local redis_data: driver: local networks: taas-network: driver: bridge