This repository is a docker compose version of Free5GC for stage 3. It's inspired by free5gc-docker-compose and also reference to docker-free5gc.
You can setup your own config in config folder and docker-compose.yaml
- GTP5G kernel module: needed to run the UPF
- Docker Engine: needed to run the Free5GC containers
- Docker Compose: needed to bootstrap the Free5GC stack
Because we need to create tunnel interface, we need to use privileged container with root permission.
# Clone the project
git clone https://github.com/free5gc/free5gc-compose.git
cd free5gc-compose
# Build the images
make base
docker-compose build
# Run it
sudo docker-compose up # add -d to run in background mode
Sometimes, you need to drop data from DB:
docker exec -it mongodb mongo
> use free5gc
> db.subscribers.drop()
> exit # (Or Ctrl-D)
You can see logs for each service using docker logs
command. For example, to access the logs of the SMF you can use:
docker logs smf
Please refer to the wiki for more troubleshooting information.
The integration with the UERANSIM eNB/UE simulator is documented here.
You can also refer to this issue to find out how you can configure the UPF to forward traffic between the UERANSIM to the DN (eg. internet) in a docker environment.
This issue provides detailed steps that might be useful.
You can setup a working environment without the fuss of updating your kernel version just by using a vagrant box. You can follow the instructions provided here: https://github.com/abousselmi/vagrant-free5gc