Files
telecom-platform/docker-compose.yml
T
nutcas3 b69b7ec087 feat: Initialize telecom platform with core services and infrastructure
- Add Go-based API server and carrier connector services
- Add Rust-based charging engine and packet gateway services
- Add Docker Compose configuration for local development
- Add comprehensive documentation (API, Architecture, Deployment)
- Add development scripts for Redis, MongoDB, and environment setup
- Add workspace configuration for Go modules and pnpm
- Remove unnecessary documentation files from web-dashboard
- Add project build configuration (Makefile, Cargo.toml)

This commit establishes the foundational microservices architecture for the sovereign Telecom-as-a-Service platform.
2026-04-03 19:55:38 +03:00

101 lines
2.2 KiB
YAML

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