docker-compose.yml.orig 6.19 KB
Newer Older
hardy's avatar
hardy committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
version: '3.8'

services:
    cassandra:
        image: cassandra:2.1
        container_name: prod-cassandra
        networks:
            private_net:
                ipv4_address: 192.168.68.2
        environment:
            CASSANDRA_CLUSTER_NAME: "OAI HSS Cluster"
            CASSANDRA_ENDPOINT_SNITCH: GossipingPropertyFileSnitch
        healthcheck:
            test: /bin/bash -c "nodetool status"
            interval: 10s
            timeout: 5s
            retries: 5

    db_init:
        image: cassandra:2.1
        container_name: prod-db-init
        depends_on: [cassandra]
        deploy:
            restart_policy:
                condition: on-failure
                max_attempts: 10
        networks:
            private_net:
                ipv4_address: 192.168.68.4
        volumes:
            - ./oai_db.cql:/home/oai_db.cql
        entrypoint: /bin/bash -c "cqlsh --file /home/oai_db.cql 192.168.68.2 && echo 'OK'"

    oai_hss:
        image: oai-hss:production
        container_name: prod-oai-hss
        privileged: true
        depends_on: [cassandra]
        networks:
            private_net:
                ipv4_address: 192.168.68.3
            public_net:
                ipv4_address: 192.168.61.2
        environment:
            REALM: openairinterface.org
            HSS_FQDN: hss.openairinterface.org
            PREFIX: /openair-hss/etc
            cassandra_Server_IP: 192.168.68.2
            OP_KEY: 1006020f0a478bf6b699f15c062e42b3
            LTE_K: fec86ba6eb707ed08905757b1bb44b8f
            APN1: oai.ipv4
            APN2: internet
            FIRST_IMSI: 222010100001120
            NB_USERS: 10
        healthcheck:
            test: /bin/bash -c "pgrep oai_hss"
            interval: 10s
            timeout: 5s
            retries: 5

    oai_mme:
        image: oai-mme:production
        container_name: prod-oai-mme
        privileged: true
        depends_on: [oai_hss]
        networks:
            public_net:
                ipv4_address: 192.168.61.3
        environment:
            REALM: openairinterface.org
            PREFIX: /openair-mme/etc
            INSTANCE: 1
            PID_DIRECTORY: /var/run
            HSS_IP_ADDR: 192.168.61.2
            HSS_HOSTNAME: hss
            HSS_FQDN: hss.openairinterface.org
            HSS_REALM: openairinterface.org
            MCC: '222'
            MNC: '01'
            MME_GID: 32768
            MME_CODE: 3
            TAC_0: 1
            TAC_1: 2
            TAC_2: 3
            MME_FQDN: mme.openairinterface.org
            MME_S6A_IP_ADDR: 192.168.61.3
            MME_INTERFACE_NAME_FOR_S1_MME: eth0
            MME_IPV4_ADDRESS_FOR_S1_MME: 192.168.61.3
            MME_INTERFACE_NAME_FOR_S11: eth0
            MME_IPV4_ADDRESS_FOR_S11: 192.168.61.3
            MME_INTERFACE_NAME_FOR_S10: lo
            MME_IPV4_ADDRESS_FOR_S10: 127.0.0.10
            OUTPUT: CONSOLE
            SGW_IPV4_ADDRESS_FOR_S11_0: 192.168.61.4
            PEER_MME_IPV4_ADDRESS_FOR_S10_0: 0.0.0.0
            PEER_MME_IPV4_ADDRESS_FOR_S10_1: 0.0.0.0
            MCC_SGW_0: '222'
            MNC3_SGW_0: '001'
            TAC_LB_SGW_0: '01'
            TAC_HB_SGW_0: '00'
            MCC_MME_0: '222'
            MNC3_MME_0: '001'
            TAC_LB_MME_0: '02'
            TAC_HB_MME_0: '00'
            MCC_MME_1: '222'
            MNC3_MME_1: '001'
            TAC_LB_MME_1: '03'
            TAC_HB_MME_1: '00'
            TAC_LB_SGW_TEST_0: '03'
            TAC_HB_SGW_TEST_0: '00'
            SGW_IPV4_ADDRESS_FOR_S11_TEST_0: 0.0.0.0
        healthcheck:
            test: /bin/bash -c "pgrep oai_mme"
            interval: 10s
            timeout: 5s
            retries: 5

    oai_spgwc:
        image: oai-spgwc:production
        privileged: true
        depends_on: [oai_mme]
        container_name: prod-oai-spgwc
        networks:
            public_net:
                ipv4_address: 192.168.61.4
        environment:
            PID_DIRECTORY: /var/run
            SGW_INTERFACE_NAME_FOR_S11: eth0
            SGW_IP_FOR_S5_S8_CP: 127.0.0.11/8
            PGW_IP_FOR_S5_S8_CP: 127.0.0.12/8
            PGW_INTERFACE_NAME_FOR_SX: eth0
            DEFAULT_APN: oai.ipv4
            DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
            DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
            UE_IP_ADDRESS_POOL: '12.1.1.2 - 12.1.1.254'
            PUSH_PROTOCOL_OPTION: 'yes'
        healthcheck:
            test: /bin/bash -c "pgrep oai_spgwc"
            interval: 10s
            timeout: 5s
            retries: 5

    oai_spgwu:
        image: oai-spgwu-tiny:production
        privileged: true
        container_name: prod-oai-spgwu-tiny
        depends_on: [oai_spgwc]
        networks:
            public_net:
                ipv4_address: 192.168.61.5
        environment:
            PID_DIRECTORY: /var/run
            INSTANCE: 1
            SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP: eth0
            PGW_INTERFACE_NAME_FOR_SGI: eth0
            SGW_INTERFACE_NAME_FOR_SX: eth0
            SPGWC0_IP_ADDRESS: 192.168.61.4
            NETWORK_UE_IP: '12.1.1.0/24'
            NETWORK_UE_NAT_OPTION: 'yes'
        healthcheck:
            test: /bin/bash -c "pgrep oai_spgwu"
            interval: 10s
            timeout: 5s
            retries: 5

    flexran_rtc:
        image: flexran-rtc:production
        privileged: true
        container_name: prod-flexran-rtc
        networks:
            public_net:
                ipv4_address: 192.168.61.10
        healthcheck:
            test: /bin/bash -c "pgrep rt_controller"
            interval: 10s
            timeout: 5s
            retries: 5

    trf_gen:
        image: trf-gen:production
        privileged: true
        container_name: prod-trf-gen
        networks:
            public_net:
                ipv4_address: 192.168.61.11
        entrypoint: /bin/bash -c "ip route add 12.1.1.0/24 via 192.168.61.5 dev eth0; sleep infinity"
        healthcheck:
            test: /bin/bash -c "ping -c 2 192.168.61.5"
            interval: 10s
            timeout: 5s
            retries: 5

networks:
    private_net:
        name: prod-oai-private-net
        ipam:
            config:
                - subnet: 192.168.68.0/26
    public_net:
        name: prod-oai-public-net
        ipam:
            config:
                - subnet: 192.168.61.0/26