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} 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