#!/bin/bash ## Install dependencies sudo apt-get install ca-certificates -y sudo apt-get install curl -y sudo apt-get install gnupg -y sudo apt-get install lsb-release -y ## Installation Wireshark sudo add-apt-repository ppa:wireshark-dev/stable -y sudo apt update -y sudo apt install wireshark -y # Work directory path is the current directory WORK_DIR=$HOME ## Configuration of the packer forwarding sudo sysctl net.ipv4.conf.all.forwarding=1 sudo iptables -P FORWARD ACCEPT ## Install docker and docker-compose sudo rm /etc/apt/sources.list.d/docker.list* sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin sudo curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ## Stop and Remove all containers and images sudo docker stop $(sudo docker ps -a -q) sudo docker rm $(sudo docker ps -a -q) sudo docker rmi $(sudo docker images -a -q) ## Pulling the images from Docker Hub sudo docker pull oaisoftwarealliance/oai-amf:v2.0.1 sudo docker pull oaisoftwarealliance/oai-nrf:v2.0.1 sudo docker pull oaisoftwarealliance/oai-smf:v2.0.1 sudo docker pull oaisoftwarealliance/oai-udr:v2.0.1 sudo docker pull oaisoftwarealliance/oai-udm:v2.0.1 sudo docker pull oaisoftwarealliance/oai-ausf:v2.0.1 sudo docker pull oaisoftwarealliance/oai-spgwu-tiny:v2.0.1 sudo docker pull oaisoftwarealliance/trf-gen-cn5g:latest ## Tag Docker Images sudo docker image tag oaisoftwarealliance/trf-gen-cn5g:latest trf-gen-cn5g:latest sudo docker image tag oaisoftwarealliance/oai-amf:v2.0.1 oai-amf:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-nrf:v2.0.1 oai-nrf:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-smf:v2.0.1 oai-smf:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-udr:v2.0.1 oai-udr:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-udm:v2.0.1 oai-udm:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-ausf:v2.0.1 oai-ausf:v2.0.1 sudo docker image tag oaisoftwarealliance/oai-spgwu-tiny:v2.0.1 oai-spgwu-tiny:v2.0.1 ## Remove OpenAirInterface 5G Core if directory exists if [ -d "$WORK_DIR/oai-cn5g-fed" ]; then sudo rm -r $WORK_DIR/oai-cn5g-fed fi ## Clone OpenAirInterface 5G Core cd $WORK_DIR git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git cd $WORK_DIR/oai-cn5g-fed git checkout -f v2.0.1 ## Synchronizing the tutorials sudo ./scripts/syncComponents.sh git submodule deinit --all --force git submodule init git submodule update ## Create the bridge 5GC sudo docker network create --driver=bridge --subnet=192.168.70.128/26 -o "com.docker.network.bridge.name"="demo-oai" demo-oai-public-net ## Deploy the 5GC cd $WORK_DIR/oai-cn5g-fed/docker-compose docker-compose -f docker-compose-slicing-basic-nrf.yaml up -d ## Docker post-installation # Enabling current user to run docker commands sudo usermod -aG docker $USER