Files
docker_open5gs/docker-compose.yaml

289 lines
5.5 KiB
YAML

version: '3'
services:
mongo:
build: ./mongo
image: docker_open5gs_mongo
container_name: mongo
volumes:
- ./mongo:/mnt/mongo
- mongodbdata:/var/lib/mongodb
expose:
- "27017/udp"
- "27017/tcp"
networks:
default:
ipv4_address: ${MONGO_IP}
hss:
build: ./hss
image: docker_open5gs_hss
container_name: hss
env_file:
- .env
volumes:
- ./hss:/mnt/hss
- ./log:/open5gs/install/var/log/open5gs
depends_on:
- mongo
expose:
- "3868/udp"
- "3868/tcp"
- "3868/sctp"
- "5868/udp"
- "5868/tcp"
- "5868/sctp"
ports:
- "3000:3000/tcp"
networks:
default:
ipv4_address: ${HSS_IP}
sgw:
build: ./sgw
image: docker_open5gs_sgw
container_name: sgw
env_file:
- .env
volumes:
- ./sgw:/mnt/sgw
- ./log:/open5gs/install/var/log/open5gs
expose:
- "2123/udp"
- "2152/udp"
# ports:
# - "2152:2152/udp"
networks:
default:
ipv4_address: ${SGW_IP}
pgw:
build: ./pgw
image: docker_open5gs_pgw
container_name: pgw
env_file:
- .env
volumes:
- ./pgw:/mnt/pgw
- ./log:/open5gs/install/var/log/open5gs
expose:
- "3868/udp"
- "3868/tcp"
- "3868/sctp"
- "5868/udp"
- "5868/tcp"
- "5868/sctp"
- "2152/udp"
- "2123/udp"
cap_add:
- NET_ADMIN
devices:
- "/dev/net/tun"
sysctls:
- net.ipv4.ip_forward=1
networks:
default:
ipv4_address: ${PGW_IP}
mme:
build: ./mme
image: docker_open5gs_mme
depends_on:
- hss
- sgw
- pgw
container_name: mme
env_file:
- .env
volumes:
- ./mme:/mnt/mme
- ./log:/open5gs/install/var/log/open5gs
expose:
- "3868/udp"
- "3868/tcp"
- "3868/sctp"
- "5868/udp"
- "5868/tcp"
- "5868/sctp"
- "36412/sctp"
# ports:
# - "36412:36412/sctp"
networks:
default:
ipv4_address: ${MME_IP}
pcrf:
build: ./pcrf
image: docker_open5gs_pcrf
container_name: pcrf
env_file:
- .env
depends_on:
- mongo
volumes:
- ./pcrf:/mnt/pcrf
- ./log:/open5gs/install/var/log/open5gs
expose:
- "3868/udp"
- "3868/tcp"
- "3868/sctp"
- "5868/udp"
- "5868/tcp"
- "5868/sctp"
networks:
default:
ipv4_address: ${PCRF_IP}
dns:
build: ./dns
image: docker_dns
container_name: dns
env_file:
- .env
volumes:
- ./dns:/mnt/dns
expose:
- "53/udp"
networks:
default:
ipv4_address: ${DNS_IP}
rtpengine:
build: ./rtpengine
image: docker_rtpengine
container_name: rtpengine
privileged: true
volumes:
- ./rtpengine:/mnt/rtpengine
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"
# ports:
# - "49000-50000:49000-50000/udp"
networks:
default:
ipv4_address: ${RTPENGINE_IP}
mysql:
build: ./mysql
image: docker_mysql
container_name: mysql
volumes:
- dbdata:/var/lib/mysql
expose:
- "3306/tcp"
networks:
default:
ipv4_address: ${MYSQL_IP}
fhoss:
build: ./fhoss
image: docker_fhoss
container_name: fhoss
dns: ${DNS_IP}
volumes:
- ./fhoss:/mnt/fhoss
env_file:
- .env
depends_on:
- dns
- mysql
expose:
- "3868/udp"
- "3868/tcp"
ports:
- "8080:8080/tcp"
networks:
default:
ipv4_address: ${FHOSS_IP}
icscf:
build: ./icscf
image: docker_icscf
container_name: icscf
dns: ${DNS_IP}
volumes:
- ./icscf:/mnt/icscf
env_file:
- .env
depends_on:
- dns
- mysql
- fhoss
expose:
- "3869/udp"
- "3869/tcp"
- "4060/udp"
- "4060/tcp"
networks:
default:
ipv4_address: ${ICSCF_IP}
scscf:
build: ./scscf
image: docker_scscf
container_name: scscf
dns: ${DNS_IP}
volumes:
- ./scscf:/mnt/scscf
env_file:
- .env
depends_on:
- dns
- mysql
- fhoss
expose:
- "3870/udp"
- "3870/tcp"
- "6060/udp"
- "6060/tcp"
networks:
default:
ipv4_address: ${SCSCF_IP}
pcscf:
build: ./pcscf
image: docker_pcscf
container_name: pcscf
dns: ${DNS_IP}
privileged: true
cap_add:
- NET_ADMIN
volumes:
- ./pcscf:/mnt/pcscf
env_file:
- .env
depends_on:
- dns
- mysql
- rtpengine
- icscf
- scscf
expose:
- "3871/udp"
- "3871/tcp"
- "5060/tcp"
- "5060/udp"
- "5100-5120/tcp"
- "5100-5120/udp"
- "6100-6100/tcp"
- "6100-6120/udp"
# ports:
# - "3871:3871/udp"
# - "3871:3871/tcp"
# - "5060:5060/tcp"
# - "5060:5060/udp"
# - "5100-5120:5100-5120/tcp"
# - "5100-5120:5100-5120/udp"
# - "6100-6100:6100-6100/tcp"
# - "6100-6120:6100-6100/udp"
networks:
default:
ipv4_address: ${PCSCF_IP}
networks:
default:
ipam:
config:
- subnet: ${TEST_NETWORK}
volumes:
mongodbdata: {}
dbdata: {}