All Projects → abousselmi → docker-free5gc

abousselmi / docker-free5gc

Licence: Apache-2.0 license
Docker images for the Free5GC open source 5G Core Network

Programming Languages

Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to docker-free5gc

free5gc ueransim sample config
free5GC 5GC & UERANSIM UE / RAN Sample Configuration
Stars: ✭ 23 (-4.17%)
Mutual labels:  5g, free5gc
towards5gs-helm
Open-source project providing Helm charts for deploying Free5GC and UERANSIM on a Kubernetes cluster
Stars: ✭ 53 (+120.83%)
Mutual labels:  5g, free5gc
go-pfcp
PFCP(Packet Forwarding Control Protocol) implementation in Golang.
Stars: ✭ 90 (+275%)
Mutual labels:  5g
bts-ce-lite
BTS-CE-Lite (Boda-Lite) is a cross platform vendor and technology agnostic telecommunication network management desktop application
Stars: ✭ 24 (+0%)
Mutual labels:  5g
Sub6-Preds-mmWave
Using sub-6 GHz channels to predict mmWave beams and link blockage.
Stars: ✭ 22 (-8.33%)
Mutual labels:  5g
my5G-core
Open source 5G core components based on 3GPP R15
Stars: ✭ 41 (+70.83%)
Mutual labels:  5g
rssd
Rohde & Schwarz SCPI Driver (in Python)
Stars: ✭ 25 (+4.17%)
Mutual labels:  5g
open-5g.github.io
Reference website for information on open, programmable, and virtualized 5G networks.
Stars: ✭ 41 (+70.83%)
Mutual labels:  5g
free5GRAN
free5GRAN is an open-source 5G RAN stack. The current version includes a receiver which decodes MIB & SIB1 data. It also acts as a cell scanner. free5GRAN works in SA mode.
Stars: ✭ 65 (+170.83%)
Mutual labels:  5g
Emqx
An Open-Source, Cloud-Native, Distributed MQTT Message Broker for IoT.
Stars: ✭ 8,951 (+37195.83%)
Mutual labels:  5g
bts-ce
Boda Telecom Suite Community Edition (BTS-CE) - An open source vendor and technology agnostic telecommunication network management platform
Stars: ✭ 28 (+16.67%)
Mutual labels:  5g
OpenHarmony
华为鸿蒙分布式操作系统(Huawei OpenHarmony)开发技术交流,鸿蒙技术资料,手册,指南,共建国产操作系统万物互联新生态。
Stars: ✭ 373 (+1454.17%)
Mutual labels:  5g
upf-epc
4G/5G Mobile Core User Plane
Stars: ✭ 97 (+304.17%)
Mutual labels:  5g
Joint-User-Association-and-In-band-Backhaul-Scheduling-and-in-5G-mmWave-Networks
Matlab Simulation for T. K. Vu, M. Bennis, S. Samarakoon, M. Debbah and M. Latva-aho, "Joint In-Band Backhauling and Interference Mitigation in 5G Heterogeneous Networks," European Wireless 2016; 22th European Wireless Conference, Oulu, Finland, 2016, pp. 1-6. URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7499273&isnumber=7499250
Stars: ✭ 36 (+50%)
Mutual labels:  5g
katana-slice manager
5G Network E2E Slice Manager
Stars: ✭ 61 (+154.17%)
Mutual labels:  5g
open5gs 5gc ueransim sample config
Open5GS 5GC & UERANSIM UE / RAN Sample Configuration
Stars: ✭ 24 (+0%)
Mutual labels:  5g
ArRtspTool
将RTSP或者NV-RTX上的摄像头流转为webrtc可直接观看的流,延迟低至200ms,Web无插件、Native等全平台低延时拉流
Stars: ✭ 38 (+58.33%)
Mutual labels:  5g

Docker Free5gc

Note: This project is no more active. Please refer to https://github.com/free5gc/free5gc-compose

Build

We start by building the base image which will be used to build Free5GC network functions for the control and the user planes by simply running the build.sh script.

git clone https://github.com/abousselmi/docker-free5gc.git
cd docker-free5gc
export F5GC_VERSION=v2.0.2
./build.sh

Note: this script was only tested for the version v2.0.2

Note: the build.sh script could be removed in the future in favor of docker-compose build.

Run

To run it, we use the docker compose file:

docker-compose up

Note: UPF container runs in privileged mode

Next steps

  • Create a CI/CD chain using docker hub or Travis
  • Create kubernetes resource descriptors
  • Create a chart to deploy on k8s using helm
  • Use weave.works router for networking

Free5GC Stage 3

Stage 3 is available here:

Appendix A: Base image

The base/Dockerfile provides a multi-stage build. The build image is based on the Golang docker image golang:1.12.9-buster.

The final image is an alpine docker image and contains the Control and User Plane executables. You can find them under /free5gc.

This directory should look like:

/free5gc # apk add -U tree
/free5gc # tree 
.
├── amf
├── ausf
├── config
│   ├── amfcfg.conf
│   ├── ausfcfg.conf
│   ├── free5GC.conf
│   ├── n3iwfcfg.conf
│   ├── nrfcfg.conf
│   ├── nssfcfg.conf
│   ├── pcfcfg.conf
│   ├── smfcfg.conf
│   ├── smfcfg.test.conf
│   ├── udmcfg.conf
│   ├── udrcfg.conf
│   ├── upfcfg.test.yaml
│   └── upfcfg.yaml
├── libgtpnl.so.0
├── liblogger.so
├── n3iwf
├── nrf
├── nssf
├── pcf
├── smf
├── support
│   └── TLS
│       ├── _debug.key
│       ├── _debug.pem
│       ├── amf.key
│       ├── amf.pem
│       ├── ausf.key
│       ├── ausf.pem
│       ├── nrf.key
│       ├── nrf.pem
│       ├── nssf.key
│       ├── nssf.pem
│       ├── pcf.key
│       ├── pcf.pem
│       ├── smf.key
│       ├── smf.pem
│       ├── udm.key
│       ├── udm.pem
│       ├── udr.key
│       └── udr.pem
├── testgtpv1
├── udm
├── udr
├── upf
└── webui

3 directories, 45 files

Appendix B: Functions Matrix

This table is created based on the default configuration files of Free5GC.

Function Exposed Ports Dependencies Dependencies URI (from default config files)
AMF 29518 NRF NRF: https://localhost:29510
AUSF 29509 NRF NRF: https://localhost:29510
NRF 29510 MONGODB MONGODB: mongodb://127.0.0.1:27017
NSSF 29531 NRF NRF: http://free5gc-nrf:29510/nnrf-nfm/v1/nf-instances
NRF: http://free5gc-nrf:8081/nnrf-nfm/v1/nf-instances
PCF 29507 N/A N/A
SMF 29502 PFCP PFCP: 10.200.200.1
UPF UPF: 10.200.200.101
NRF NRF: https://localhost:29510
UDM 29503 UDR UDR client: 127.0.0.1:29504
NRF NRF client: 127.0.0.1:29510
UDR 29504 MONGODB MONGODB: mongodb://localhost:27017
NRF NRF: https://localhost:29510
UPF N/A PFCP PFCP: 10.200.200.101
GTPU GTPU: 10.200.200.102
APN_LIST APN_LIST: 60.60.0.0/24
APN APN: internet
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].