docker-compose.yaml 5.76 KB
Newer Older
1 2 3 4
version: '3.8'
services:
    mysql:
        container_name: "rfsim5g-mysql"
5
        image: mysql:8.0
6
        volumes:
7 8
            - ../5g_rfsimulator/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql
            - ../5g_rfsimulator/mysql-healthcheck.sh:/tmp/mysql-healthcheck.sh
9 10 11 12 13 14 15 16 17 18
        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
19
            retries: 30
20 21 22 23 24
        networks:
            public_net:
                ipv4_address: 192.168.71.131
    oai-amf:
        container_name: "rfsim5g-oai-amf"
25
        image: oaisoftwarealliance/oai-amf:v2.0.0
26 27
        environment:
            - TZ=Europe/paris
28 29
        volumes:
            - ../5g_rfsimulator_e1/mini_nonrf_config_3slices.yaml:/openair-amf/etc/config.yaml
30
        depends_on:
31
            - mysql
32 33 34 35 36
        networks:
            public_net:
                ipv4_address: 192.168.71.132
    oai-smf:
        container_name: "rfsim5g-oai-smf"
37
        image: oaisoftwarealliance/oai-smf:v2.0.0
38 39
        environment:
            - TZ=Europe/Paris
40 41
        volumes:
            - ../5g_rfsimulator_e1/mini_nonrf_config_3slices.yaml:/openair-smf/etc/config.yaml
42
        depends_on:
43
            - oai-amf
44 45 46
        networks:
            public_net:
                ipv4_address: 192.168.71.133
47 48 49
    oai-upf:
        container_name: "rfsim5g-oai-upf"
        image: oaisoftwarealliance/oai-upf:v2.0.0
50 51
        environment:
            - TZ=Europe/Paris
52 53
        volumes:
            - ../5g_rfsimulator_e1/mini_nonrf_config_3slices.yaml:/openair-upf/etc/config.yaml
54
        depends_on:
55
            - oai-smf
56 57 58 59 60 61 62 63 64 65 66
        cap_add:
            - NET_ADMIN
            - SYS_ADMIN
        cap_drop:
            - ALL
        privileged: true
        networks:
            public_net:
                ipv4_address: 192.168.71.134
            traffic_net:
                ipv4_address: 192.168.72.134
67

68 69 70
    oai-ext-dn:
        privileged: true
        container_name: rfsim5g-oai-ext-dn
71
        image: oaisoftwarealliance/trf-gen-cn5g:focal
72 73 74 75
        entrypoint: /bin/bash -c \
              "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\
              "ip route add 12.1.1.0/24 via 192.168.72.134 dev eth0; sleep infinity"
        depends_on:
76
            - oai-upf
77 78 79 80 81 82 83 84
        networks:
            traffic_net:
                ipv4_address: 192.168.72.135
        healthcheck:
            test: /bin/bash -c "ping -c 2 192.168.72.134"
            interval: 10s
            timeout: 5s
            retries: 5
85

86
    oai-cu:
87
        image: oaisoftwarealliance/oai-gnb:develop
88 89 90
        privileged: true
        container_name: rfsim5g-oai-cu
        environment: 
91
            USE_ADDITIONAL_OPTIONS: --sa --log_config.global_log_options level,nocolor,time
92
            ASAN_OPTIONS: detect_leaks=0
93 94 95 96
        depends_on:
            - oai-ext-dn
        networks:
            public_net:
97
                ipv4_address: 192.168.71.150
98
        volumes:
99
          - ../../conf_files/gnb-cu.sa.band78.106prb.conf:/opt/oai-gnb/etc/gnb.conf
100 101 102 103 104
        healthcheck:
            test: /bin/bash -c "pgrep nr-softmodem"
            interval: 10s
            timeout: 5s
            retries: 5
105

106
    oai-du:
107
        image: oaisoftwarealliance/oai-gnb:develop
108 109
        privileged: true
        container_name: rfsim5g-oai-du
110
        environment:
111 112 113 114
            USE_ADDITIONAL_OPTIONS: --sa --rfsim
                                    --log_config.global_log_options level,nocolor,time
                                    --rfsimulator.options chanmod
                                    --telnetsrv --telnetsrv.listenaddr 192.168.71.171
115
            ASAN_OPTIONS: detect_leaks=0
116 117 118 119
        depends_on:
            - oai-cu
        networks:
            public_net:
120
                ipv4_address: 192.168.71.171
121 122
        volumes:
            - ../../conf_files/gnb-du.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
123
            - ../../conf_files/rfsim_channel_ci.conf:/opt/oai-gnb/etc/rfsim_channel_ci.conf
124 125 126 127 128
        healthcheck:
            test: /bin/bash -c "pgrep nr-softmodem"
            interval: 10s
            timeout: 5s
            retries: 5
129

130
    oai-nr-ue:
131
        image: oaisoftwarealliance/oai-nr-ue:develop
132 133
        privileged: true
        container_name: rfsim5g-oai-nr-ue
134
        environment:
135 136 137 138
            USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time
                                    -r 106 --numerology 1 -C 3619200000
                                    --uicc0.imsi 208990100001100
                                    --rfsimulator.serveraddr 192.168.71.171
139 140
                                    --rfsimulator.options chanmod
                                    --telnetsrv --telnetsrv.listenaddr 192.168.71.181
141
        depends_on:
142
            - oai-du
143 144
        networks:
            public_net:
145
                ipv4_address: 192.168.71.181
146 147
        volumes:
            - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf
148
            - ../../conf_files/rfsim_channel_ci.conf:/opt/oai-nr-ue/etc/rfsim_channel_ci.conf
149 150 151 152 153
        healthcheck:
            test: /bin/bash -c "pgrep nr-uesoftmodem"
            interval: 10s
            timeout: 5s
            retries: 5
154 155 156 157 158 159 160 161 162 163 164 165

networks:
    public_net:
        driver: bridge
        name: rfsim5g-oai-public-net
        ipam:
            config:
                - subnet: 192.168.71.128/26
        driver_opts:
            com.docker.network.bridge.name: "rfsim5g-public"
    traffic_net:
        driver: bridge
166
        name: rfsim5g-oai-traffic-net
167 168 169 170 171
        ipam:
            config:
                - subnet: 192.168.72.128/26
        driver_opts:
            com.docker.network.bridge.name: "rfsim5g-traffic"