529 lines
11 KiB
YAML
529 lines
11 KiB
YAML
services:
|
|
mongo:
|
|
image: mongo:6.0
|
|
container_name: mongo
|
|
command: --bind_ip 0.0.0.0
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- mongodbdata:/data/db
|
|
- mongodbdata:/data/configdb
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "27017/udp"
|
|
- "27017/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${MONGO_IP}
|
|
webui:
|
|
image: docker_open5gs
|
|
container_name: webui
|
|
depends_on:
|
|
- mongo
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=webui
|
|
volumes:
|
|
- ./webui:/mnt/webui
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "9999/tcp"
|
|
ports:
|
|
- "9999:9999/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${WEBUI_IP}
|
|
nrf:
|
|
image: docker_open5gs
|
|
container_name: nrf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=nrf
|
|
volumes:
|
|
- ./nrf:/mnt/nrf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${NRF_IP}
|
|
scp:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
container_name: scp
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=scp
|
|
volumes:
|
|
- ./scp:/mnt/scp
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${SCP_IP}
|
|
ausf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
container_name: ausf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=ausf
|
|
volumes:
|
|
- ./ausf:/mnt/ausf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${AUSF_IP}
|
|
udr:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- mongo
|
|
container_name: udr
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=udr
|
|
volumes:
|
|
- ./udr:/mnt/udr
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${UDR_IP}
|
|
udm:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
container_name: udm
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=udm
|
|
volumes:
|
|
- ./udm:/mnt/udm
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${UDM_IP}
|
|
smf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- amf
|
|
container_name: smf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=smf
|
|
- DEPLOY_MODE=5G
|
|
volumes:
|
|
- ./smf:/mnt/smf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "3868/tcp"
|
|
- "3868/sctp"
|
|
- "5868/tcp"
|
|
- "5868/sctp"
|
|
- "8805/udp"
|
|
- "2123/udp"
|
|
- "7777/tcp"
|
|
- "9091/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${SMF_IP}
|
|
upf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- smf
|
|
container_name: upf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=upf
|
|
volumes:
|
|
- ./upf:/mnt/upf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "2152/udp"
|
|
- "8805/udp"
|
|
- "9091/tcp"
|
|
# ports:
|
|
# - "2152:2152/udp"
|
|
cap_add:
|
|
- NET_ADMIN
|
|
privileged: true
|
|
sysctls:
|
|
- net.ipv4.ip_forward=1
|
|
#- net.ipv6.conf.all.disable_ipv6=0
|
|
networks:
|
|
default:
|
|
ipv4_address: ${UPF_IP}
|
|
amf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- ausf
|
|
- udm
|
|
- udr
|
|
- pcf
|
|
- bsf
|
|
container_name: amf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=amf
|
|
volumes:
|
|
- ./amf:/mnt/amf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "38412/sctp"
|
|
- "7777/tcp"
|
|
- "9091/tcp"
|
|
# ports:
|
|
# - "38412:38412/sctp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${AMF_IP}
|
|
pcf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- mongo
|
|
container_name: pcf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=pcf
|
|
volumes:
|
|
- ./pcf:/mnt/pcf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
- "9091/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${PCF_IP}
|
|
bsf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- mongo
|
|
container_name: bsf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=bsf
|
|
volumes:
|
|
- ./bsf:/mnt/bsf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${BSF_IP}
|
|
nssf:
|
|
image: docker_open5gs
|
|
depends_on:
|
|
- nrf
|
|
- scp
|
|
- mongo
|
|
container_name: nssf
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=nssf
|
|
volumes:
|
|
- ./nssf:/mnt/nssf
|
|
- ./log:/open5gs/install/var/log/open5gs
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "7777/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${NSSF_IP}
|
|
metrics:
|
|
build: ./metrics
|
|
image: docker_metrics
|
|
container_name: metrics
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./metrics:/mnt/metrics
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "9090/tcp"
|
|
ports:
|
|
- "9090:9090/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${METRICS_IP}
|
|
dns:
|
|
build: ./dns
|
|
image: docker_dns
|
|
container_name: dns
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./dns:/mnt/dns
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "53/udp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${DNS_IP}
|
|
rtpengine:
|
|
build: ./rtpengine
|
|
image: docker_rtpengine
|
|
container_name: rtpengine
|
|
privileged: true
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- ./rtpengine:/mnt/rtpengine
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
cap_add:
|
|
- NET_ADMIN
|
|
environment:
|
|
- TABLE=0
|
|
- INTERFACE=${RTPENGINE_IP}
|
|
- LISTEN_NG=${RTPENGINE_IP}:2223
|
|
- PIDFILE=/run/ngcp-rtpengine-daemon.pid
|
|
- PORT_MAX=50000
|
|
- PORT_MIN=49000
|
|
- NO_FALLBACK=no
|
|
- TOS=184
|
|
expose:
|
|
- "2223/udp"
|
|
- "49000-50000/udp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${RTPENGINE_IP}
|
|
mysql:
|
|
build: ./mysql
|
|
image: docker_mysql
|
|
container_name: mysql
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- dbdata:/var/lib/mysql
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
expose:
|
|
- "3306/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${MYSQL_IP}
|
|
pyhss:
|
|
build: ./pyhss
|
|
image: docker_pyhss
|
|
container_name: pyhss
|
|
dns: ${DNS_IP}
|
|
volumes:
|
|
- ./pyhss:/mnt/pyhss
|
|
- ./pyhss/logs:/pyhss/log/
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- dns
|
|
- mysql
|
|
expose:
|
|
- "${PYHSS_BIND_PORT}/tcp"
|
|
- "${PYHSS_BIND_PORT}/sctp"
|
|
- "8080/tcp"
|
|
ports:
|
|
- "8080:8080/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${PYHSS_IP}
|
|
icscf:
|
|
image: docker_kamailio
|
|
container_name: icscf
|
|
dns: ${DNS_IP}
|
|
volumes:
|
|
- ./icscf:/mnt/icscf
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=icscf
|
|
depends_on:
|
|
- dns
|
|
- mysql
|
|
- pyhss
|
|
expose:
|
|
- "${ICSCF_BIND_PORT}/tcp"
|
|
- "${ICSCF_BIND_PORT}/sctp"
|
|
- "4060/udp"
|
|
- "4060/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${ICSCF_IP}
|
|
scscf:
|
|
image: docker_kamailio
|
|
container_name: scscf
|
|
dns: ${DNS_IP}
|
|
volumes:
|
|
- ./scscf:/mnt/scscf
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=scscf
|
|
depends_on:
|
|
- dns
|
|
- mysql
|
|
- pyhss
|
|
expose:
|
|
- "${SCSCF_BIND_PORT}/tcp"
|
|
- "${SCSCF_BIND_PORT}/sctp"
|
|
- "6060/udp"
|
|
- "6060/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${SCSCF_IP}
|
|
pcscf:
|
|
image: docker_kamailio
|
|
container_name: pcscf
|
|
dns: ${DNS_IP}
|
|
privileged: true
|
|
cap_add:
|
|
- NET_ADMIN
|
|
volumes:
|
|
- ./pcscf:/mnt/pcscf
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=pcscf
|
|
- DEPLOY_MODE=5G
|
|
depends_on:
|
|
- dns
|
|
- mysql
|
|
- rtpengine
|
|
- icscf
|
|
- scscf
|
|
expose:
|
|
- "${PCSCF_BIND_PORT}/tcp"
|
|
- "${PCSCF_BIND_PORT}/sctp"
|
|
- "5060/tcp"
|
|
- "5060/udp"
|
|
- "5100-5120/tcp"
|
|
- "5100-5120/udp"
|
|
- "6100-6120/tcp"
|
|
- "6100-6120/udp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${PCSCF_IP}
|
|
smsc:
|
|
image: docker_kamailio
|
|
container_name: smsc
|
|
dns: ${DNS_IP}
|
|
volumes:
|
|
- ./smsc:/mnt/smsc
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- COMPONENT_NAME=smsc
|
|
depends_on:
|
|
- dns
|
|
- mysql
|
|
expose:
|
|
- "7090/udp"
|
|
- "7090/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${SMSC_IP}
|
|
grafana:
|
|
image: grafana/grafana:11.3.0
|
|
container_name: grafana
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
- ./grafana/:/etc/grafana/provisioning/
|
|
- ./grafana:/mnt/grafana
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
|
|
#- GF_INSTALL_PLUGINS=${GRAFANA_INSTALL_PLUGINS}
|
|
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
|
|
- GF_PATHS_DATA=/var/lib/grafana
|
|
- METRICS_IP=${METRICS_IP}
|
|
expose:
|
|
- "3000/tcp"
|
|
ports:
|
|
- "3000:3000/tcp"
|
|
networks:
|
|
default:
|
|
ipv4_address: ${GRAFANA_IP}
|
|
networks:
|
|
default:
|
|
name: docker_open5gs_default
|
|
ipam:
|
|
config:
|
|
- subnet: ${TEST_NETWORK}
|
|
volumes:
|
|
grafana_data:
|
|
name: grafana_data
|
|
mongodbdata:
|
|
name: docker_open5gs_mongodbdata
|
|
dbdata:
|
|
name: docker_open5gs_dbdata
|