version: '3.8' services: mysql: container_name: "mysql" image: mysql:8.0 volumes: - ./database/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql - ./healthscripts/mysql-healthcheck.sh:/tmp/mysql-healthcheck.sh environment: - TZ=Europe/Paris - MYSQL_DATABASE=oai_db - MYSQL_USER=test - MYSQL_PASSWORD=test - MYSQL_ROOT_PASSWORD=linux healthcheck: test: /bin/bash -c "/tmp/mysql-healthcheck.sh" interval: 10s timeout: 5s retries: 5 networks: public_net: ipv4_address: 192.168.70.131 ims: container_name: "asterisk-ims" image: asterisk-ims:latest volumes: - ./conf/sip.conf:/etc/asterisk/sip.conf - ./conf/users.conf:/etc/asterisk/users.conf healthcheck: test: /bin/bash -c "pgrep asterisk" interval: 10s timeout: 5s retries: 5 networks: public_net: ipv4_address: 192.168.70.139 oai-udr: container_name: "oai-udr" image: oaisoftwarealliance/oai-udr:develop entrypoint: ["/openair-udr/bin/oai_udr", "-c", "/openair-udr/etc/udr.conf", "-o"] depends_on: - mysql - oai-nrf volumes: - ./conf/oai-udr.conf:/openair-udr/etc/udr.conf networks: public_net: ipv4_address: 192.168.70.136 oai-udm: container_name: "oai-udm" image: oaisoftwarealliance/oai-udm:develop entrypoint: ["/openair-udm/bin/oai_udm", "-c", "/openair-udm/etc/udm.conf", "-o"] depends_on: - oai-nrf volumes: - ./conf/oai-udm.conf:/openair-udm/etc/udm.conf networks: public_net: ipv4_address: 192.168.70.137 oai-ausf: container_name: "oai-ausf" image: oaisoftwarealliance/oai-ausf:develop entrypoint: ["/openair-ausf/bin/oai_ausf", "-c", "/openair-ausf/etc/ausf.conf", "-o"] depends_on: - oai-nrf volumes: - ./conf/oai-ausf.conf:/openair-ausf/etc/ausf.conf networks: public_net: ipv4_address: 192.168.70.138 oai-nrf: container_name: "oai-nrf" image: oaisoftwarealliance/oai-nrf:develop entrypoint: ["/openair-nrf/bin/oai_nrf", "-c", "/openair-nrf/etc/nrf.conf", "-o"] volumes: - ./conf/oai-nrf.conf:/openair-nrf/etc/nrf.conf networks: public_net: ipv4_address: 192.168.70.130 oai-amf: container_name: "oai-amf" image: oaisoftwarealliance/oai-amf:develop entrypoint: ["/openair-amf/bin/oai_amf", "-c", "/openair-amf/etc/amf.conf", "-o"] depends_on: - oai-nrf volumes: - ./conf/oai-amf.conf:/openair-amf/etc/amf.conf networks: public_net: ipv4_address: 192.168.70.132 oai-smf: container_name: "oai-smf" image: oaisoftwarealliance/oai-smf:develop entrypoint: ["/openair-smf/bin/oai_smf", "-c", "/openair-smf/etc/smf.conf", "-o"] depends_on: - oai-nrf volumes: - ./conf/oai-smf.conf:/openair-smf/etc/smf.conf networks: public_net: ipv4_address: 192.168.70.133 oai-spgwu-tiny: container_name: "oai-spgwu-tiny" image: oaisoftwarealliance/oai-spgwu-tiny:develop #for ims we need to execute below command once the container is running # iptables -t nat -A POSTROUTING -o eth0 -s 12.2.1.0/24 -j SNAT --to 192.168.70.134 entrypoint: ["/openair-spgwu-tiny/bin/oai_spgwu", "-c", "/openair-spgwu-tiny/etc/spgw_u.conf","-o"] depends_on: - oai-nrf volumes: - ./conf/oai-spgwu-tiny.conf:/openair-spgwu-tiny/etc/spgw_u.conf cap_add: - NET_ADMIN - SYS_ADMIN cap_drop: - ALL privileged: true networks: public_net: ipv4_address: 192.168.70.134 oai-ext-dn: image: oaisoftwarealliance/trf-gen-cn5g:latest privileged: true container_name: oai-ext-dn entrypoint: /bin/bash -c \ "ip route add 12.1.0.0/16 via 192.168.70.134 dev eth0; sleep infinity" depends_on: - oai-spgwu-tiny healthcheck: test: /bin/bash -c "ip r | grep 12.1.1" interval: 10s timeout: 5s retries: 5 networks: public_net: ipv4_address: 192.168.70.135 networks: public_net: driver: bridge name: demo-oai-public-net ipam: config: - subnet: 192.168.70.128/26 driver_opts: com.docker.network.bridge.name: "demo-oai"