Coder Social home page Coder Social logo

free5gc-compose's Introduction

Free5GC Compose

This repository is a docker compose version of free5GC for stage 3. It's inspire by free5gc-docker-compose and also reference to docker-free5GC.

You can setup your own config in config folder and docker-compose.yaml

Prerequisites

GTP5G kernel module

Due to the UPF issue, the host must be using kernel 5.0.0-23-generic. And it should contain gtp5g kernel module.

On you host OS:

git clone https://github.com/PrinzOwO/gtp5g.git
cd gtp5g
make
sudo make install

Docker

Start Free5gc

Because we need to create tunnel interface, we need to use privileged container with root permission.

$ git clone https://github.com/free5gc/free5gc-compose.git
$ cd free5gc-compose
$ make base
$ docker-compose build
$ sudo docker-compose up # Recommend use with tmux to run in foreground mode
$ sudo docker-compose up -d # Run in background mode if needed

Troubleshooting

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.

Integration with external eNB/UE simulators

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.

Vagrant Box Option

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

NF dependencies and ports

NF Exposed Ports Dependencies Dependencies URI
amf 8000 nrf nrfUri: https://nrf:8000
ausf 8000 nrf nrfUri: https://nrf:8000
nrf 8000 db MongoDBUrl: mongodb://db:27017
nssf 8000 nrf nrfUri: https://nrf:8000/,
nrfId: https://nrf:8000/nnrf-nfm/v1/nf-instances
pcf 8000 nrf nrfUri: https://nrf:8000
smf 8000 nrf, upf nrfUri: https://nrf:8000,
node_id: upf1, node_id: upf2, node_id: upf3
udm 8000 nrf nrfUri: https://nrf:8000
udr 8000 nrf, db nrfUri: https://nrf:8000,
url: mongodb://db:27017
n3iwf N/A amf, smf, upf
upf1 N/A pfcp, gtpu, apn pfcp: upf1, gtpu: upf1, apn: internet
upf2 N/A pfcp, gtpu, apn pfcp: upf2, gtpu: upf2, apn: internet
upfb (ulcl) N/A pfcp, gtpu, apn pfcp: upfb, gtpu: upfb, apn: intranet
webui 5000 db MongoDBUrl: mongodb://db:27017

Reference

free5gc-compose's People

Contributors

abousselmi avatar free5gc-org avatar tim-ywliu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.