- sa_b200_gnb - sa_aw2s_gnb - sa_e1_b200 - sa_f1_b200 - sa_sc_b200_gnb - nsa_b200_gnb By default, the container has no access to /dev. Mount all USB devices into the container to ease usability: by default, USB devices are mounted under /dev/bus/usb using the bus ID, which is different on every system and might change on reboots or with (un-)plugging USB devices. Hence, mount all USB; the process has not many capabilities anyway, and thus might not do much harm. A proper solution would be to write a udev rule to mount a device using its vendor and product ID, and only mount the corresponding device into the container.
89 lines
3.5 KiB
YAML
89 lines
3.5 KiB
YAML
services:
|
|
gnb_cucp:
|
|
image: oai-gnb:latest
|
|
container_name: sa-cucp-gnb
|
|
cap_drop:
|
|
- ALL
|
|
ulimits:
|
|
core: -1 # for core dumps
|
|
environment:
|
|
USE_ADDITIONAL_OPTIONS: --sa
|
|
--telnetsrv --telnetsrv.listenport 9090 --telnetsrv.shrmod ci
|
|
--log_config.global_log_options level,nocolor,time,line_num,function
|
|
volumes:
|
|
- ../../conf_files/gnb-cucp.sa.f1.quectel.conf:/opt/oai-gnb/etc/gnb.conf
|
|
# for performance reasons, we use host mode: in bridge mode, we have
|
|
# unacceptable DL TCP performance. However, the whole point of
|
|
# containerization is to not be in host mode, so update this to macvlan
|
|
# later.
|
|
network_mode: "host"
|
|
healthcheck:
|
|
# pgrep does NOT work
|
|
test: /bin/bash -c "ps aux | grep -v grep | grep -c softmodem"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
gnb_cuup:
|
|
image: oai-nr-cuup:latest
|
|
container_name: sa-cuup-gnb
|
|
cap_drop:
|
|
- ALL
|
|
cap_add:
|
|
- SYS_NICE
|
|
- IPC_LOCK
|
|
ulimits:
|
|
core: -1 # for core dumps
|
|
environment:
|
|
USE_ADDITIONAL_OPTIONS: --sa
|
|
--log_config.global_log_options level,nocolor,time,line_num,function
|
|
volumes:
|
|
- ../../conf_files/gnb-cuup.sa.f1.quectel.conf:/opt/oai-gnb/etc/gnb.conf
|
|
# for performance reasons, we use host mode: in bridge mode, we have
|
|
# unacceptable DL TCP performance. However, the whole point of
|
|
# containerization is to not be in host mode, so update this to macvlan
|
|
# later.
|
|
network_mode: "host"
|
|
healthcheck:
|
|
# pgrep does NOT work
|
|
test: /bin/bash -c "ps aux | grep -v grep | grep -c nr-cuup"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
gnb_du_tdd:
|
|
image: oai-gnb:latest
|
|
container_name: sa-du-b200-gnb
|
|
cap_drop:
|
|
- ALL
|
|
cap_add:
|
|
- SYS_NICE
|
|
- IPC_LOCK
|
|
ulimits:
|
|
core: -1 # for core dumps
|
|
environment:
|
|
USE_B2XX: 'yes'
|
|
USE_ADDITIONAL_OPTIONS: --sa
|
|
--RUs.[0].sdr_addrs serial=30C51D4
|
|
--continuous-tx -E
|
|
--telnetsrv --telnetsrv.listenport 9091 --telnetsrv.shrmod ci
|
|
--gNBs.[0].min_rxtxtime 2 --gNBs.[0].do_CSIRS 1 --gNBs.[0].do_SRS 1
|
|
--RUs.[0].att_rx 14 --RUs.[0].att_tx 14
|
|
--log_config.global_log_options level,nocolor,time,line_num,function
|
|
devices:
|
|
- /dev/bus/usb/:/dev/bus/usb/
|
|
volumes:
|
|
- ../../conf_files/gnb-du.sa.band78.106prb.usrpb200.conf:/opt/oai-gnb/etc/gnb.conf
|
|
# for performance reasons, we use host mode: in bridge mode, we have
|
|
# unacceptable DL TCP performance. However, the whole point of
|
|
# containerization is to not be in host mode, so update this to macvlan
|
|
# later.
|
|
network_mode: "host"
|
|
#entrypoint: /bin/bash -c "sleep infinity"
|
|
healthcheck:
|
|
# pgrep does NOT work
|
|
test: /bin/bash -c "ps aux | grep -v grep | grep -c softmodem"
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|