mirror of
https://github.com/andwati/telecom-platform.git
synced 2026-10-18 11:02:54 +00:00
- Add MongoDB database service for free5GC with authentication - Add NRF (Network Repository Function) service - Add AMF (Access and Mobility Management Function) service - Add SMF (Session Management Function) service - Add UPF (User Plane Function) with NET_ADMIN capabilities and iptables setup - Add UDR (Unified Data Repository) service - Add UDM (Unified Data Management) service - Add AUSF (Authentication Server Function) service
256 lines
5.4 KiB
YAML
256 lines
5.4 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
|
|
|
|
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
|