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 db: image: mongo:5.0 container_name: free5gc-mongo restart: unless-stopped environment: MONGO_INITDB_ROOT_USERNAME: admin MONGO_INITDB_ROOT_PASSWORD: free5gc volumes: - free5gc_dbdata:/data/db networks: - taas-network free5gc-nrf: container_name: nrf image: free5gc/nrf:v4.2.1 command: ./nrf -c ./config/nrfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db free5gc-amf: container_name: amf image: free5gc/amf:v4.2.1 command: ./amf -c ./config/amfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-smf: container_name: smf image: free5gc/smf:v4.2.1 command: ./smf -c ./config/smfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-upf: container_name: upf image: free5gc/upf:v4.2.1 command: bash -c "./upf-iptables.sh && ./upf -c ./config/upfcfg.yaml" volumes: - ./deployments/free5gc/config:/free5gc/config - ./deployments/free5gc/upf-iptables.sh:/free5gc/upf-iptables.sh cap_add: - NET_ADMIN networks: - taas-network depends_on: - free5gc-smf free5gc-udr: container_name: udr image: free5gc/udr:v4.2.1 command: ./udr -c ./config/udrcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-udm: container_name: udm image: free5gc/udm:v4.2.1 command: ./udm -c ./config/udmcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-ausf: container_name: ausf image: free5gc/ausf:v4.2.1 command: ./ausf -c ./config/ausfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-nssf: container_name: nssf image: free5gc/nssf:v4.2.1 command: ./nssf -c ./config/nssfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf free5gc-pcf: container_name: pcf image: free5gc/pcf:v4.2.1 command: ./pcf -c ./config/pcfcfg.yaml expose: - "8000" volumes: - ./deployments/free5gc/config:/free5gc/config environment: GIN_MODE: release networks: - taas-network depends_on: - db - free5gc-nrf 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 free5gc_dbdata: driver: local networks: taas-network: driver: bridge