{"id":44787093,"url":"https://github.com/Borjis131/docker-open5gs","last_synced_at":"2026-02-28T23:00:50.405Z","repository":{"id":165979241,"uuid":"599003186","full_name":"Borjis131/docker-open5gs","owner":"Borjis131","description":"Open5GS 5G Core container images, Docker compose deployments and Helm charts ","archived":false,"fork":false,"pushed_at":"2025-11-03T17:29:56.000Z","size":619,"stargazers_count":52,"open_issues_count":0,"forks_count":27,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-03T19:24:07.592Z","etag":null,"topics":["5g","5g-core","5g-core-network","5g-networks","5g-sa","docker","docker-compose","kubernetes","open5gs"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Borjis131.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-08T08:48:59.000Z","updated_at":"2025-11-03T17:29:59.000Z","dependencies_parsed_at":"2024-05-22T16:34:02.032Z","dependency_job_id":"773dde58-485e-460a-a6f6-f702f074835f","html_url":"https://github.com/Borjis131/docker-open5gs","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/Borjis131/docker-open5gs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borjis131%2Fdocker-open5gs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borjis131%2Fdocker-open5gs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borjis131%2Fdocker-open5gs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borjis131%2Fdocker-open5gs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Borjis131","download_url":"https://codeload.github.com/Borjis131/docker-open5gs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Borjis131%2Fdocker-open5gs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29954583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["5g","5g-core","5g-core-network","5g-networks","5g-sa","docker","docker-compose","kubernetes","open5gs"],"created_at":"2026-02-16T10:00:19.650Z","updated_at":"2026-02-28T23:00:50.393Z","avatar_url":"https://github.com/Borjis131.png","language":"Dockerfile","funding_links":[],"categories":["Lab \u0026 Testbeds"],"sub_categories":["Ready-to-Use Environments"],"readme":"# Open5GS 5G Core in Docker\n\n[Open5GS](https://github.com/open5gs/open5gs) 5G Core Network Functions images ready for Docker.\n\nThis repository contains the Dockerfiles, Docker Compose files and Helm charts to deploy a configurable 5G Core.\n\nThe repository uses the same release version tags as Open5GS, so to use an specific Open5GS version just select the appropiate tag.\n\nThe Docker images are available for `amd64/x86-64` and `arm64`:\n- in DockerHub `borieher/\u003cnf_name\u003e:\u003copen5gs_version\u003e`\n- in GitHub Container Registry `ghcr.io/borjis131/\u003cnf_name\u003e:\u003copen5gs_version\u003e`\n\n\u003e [!TIP]\n\u003e You can use the tag `latest` to download the latest docker-open5gs version available.\n\u003e Currently latest tag points to `v2.7.6`\n\nThe Helm charts are available:\n- in DockerHub `registry-1.docker.io/borieher/\u003cchart_name\u003e --version \u003cchart_version\u003e`\n\n\u003e [!NOTE]\n\u003e The \u003cchart_version\u003e is not the same as the \u003copen5gs_version\u003e\n\n## Configure it\n\nAll the images (except `webui`) depend on the `base-open5gs` image to be built, after that each image is independent.\n\nFirst, update the `.env` and `docker-bake.hcl` files with the desired values to use.\n\nThe `.env` file is used to build the images using Make or Docker Compose, as well as deploying in Docker Compose. The `docker-bake.hcl` file is used to build the images using bake.\n\n`OPEN5GS_VERSION` is the version of Open5GS to use.\n- Accepted values are the tags, branches or commit IDs used in the Open5GS project\n- Default value: v2.7.6\n- Tested values: v2.5.5, v2.5.6, v2.5.8, v2.6.1, v2.6.2, v2.6.3, v2.6.4, v2.6.6, v2.7.0, v2.7.1, v2.7.2, v2.7.5, v2.7.6\n\n`UBUNTU_VERSION` is the version of the ubuntu Docker image used as base for the containers.\n- Accepted values are the tags used by Ubuntu in Docker Hub\n- Default value: jammy\n- Tested values: focal, jammy\n\n`MONGODB_VERSION` is the version of the mongo Docker image used as database for Open5GS.\n- Accepted values are the tags used by MongoDB in Docker Hub\n- Default value: The one specified in the `.env` file\n- Tested values: 3.6.8, 4.2, 6.0, 8.0\n\n`NODE_VERSION` is the version of Node.js being used to build the Open5GS WebUI.\n- Accepted values are the tags used by Node in Docker Hub for its bookworm-slim image and the Node.js dependency of Open5GS WebUI\n- Default value: 20\n- Tested values: 20\n\n`DOCKER_HOST_IP` is the IP address of the host running Docker. This modifies the `advertise` field in the `upf.yaml` config file for this to work when exposing the Docker containers network.\n\n## Build it\n\n\u003cdetails\u003e\n\u003csummary\u003eBuild it with Bake\u003c/summary\u003e\n\n\u003e Tip: This is the recommended way to build the project, you can build the images all at once with a single command taking advantage of docker buildx parallelism\n\n\u003e Note: This method uses the `docker-bake.hcl` file and requires `docker-buildx-plugin`\n\nFrom the top level directory of the repository run:\n```bash\ndocker buildx bake\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eBuild it with Make\u003c/summary\u003e\n\n\u003e Note: This method uses the `Makefile` and `.env` files\n\nFrom the top level directory of the repository run the following to create the `base-open5gs` image and all the Network Function images:\n```bash\nmake all\n```\n\nThis will take a while.\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eBuild it with Docker Compose\u003c/summary\u003e\n\n\u003e Note: This method uses the `Makefile`, `.env` and `docker-compose.yaml` files\n\nSome deployments have the build instructions for the images (like the `basic` deployment), only depending of the `base-open5gs` image. Some other deployments download the images needed from container registries like Docker Hub or GitHub Container Registry (like the `network-slicing` deployment).\n\nFirst create the `base-open5gs` image, from the top level directory of the repository run:\n```bash\nmake base-open5gs\n```\n\nThen select the appropiate deployment (`basic`, `scp-model-d` or `roaming`). From the top level directory of the repository, run:\n```bash\n# Example using the basic deployment\ndocker compose -f compose-files/basic/docker-compose.yaml --env-file=.env up -d\n```\n\nThis command builds all the images for the deployment selected and then runs the deployment.\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eBuild the Helm charts\u003c/summary\u003e\n\nUse the following commands inside the `helm/` directory.\n\nFirst retrieve the dependencies of each chart individually, the `open5gs` chart must be the latest one, cause it depends on all the other charts:\n```bash\nhelm dependency build ./\u003cchart_name\u003e\n```\n\nYou can also package the charts (it is not mandatory):\n```bash\nhelm package ./\u003cchart_name\u003e\n```\n\n\u003c/details\u003e\n\n## Use it\n\n\u003cdetails\u003e\n\u003csummary\u003eUse it with Docker Compose\u003c/summary\u003e\n\nUpdate the `.env` file with the desired values to use:\n\nThen select the appropiate deployment and from the top level directory of the repository run:\n```bash\n# Run the basic deployment\ndocker compose -f compose-files/basic/docker-compose.yaml --env-file=.env up -d\n\n# Tear down the basic deployment\ndocker compose -f compose-files/basic/docker-compose.yaml --env-file=.env down\n```\n\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eUse it with Kubernetes\u003c/summary\u003e\n\nYou can download the packaged charts from the repository or you can use the ones built by yourself.\n\nCurrent `CHART_VERSION` value for the Open5GS chart is 0.3.5, using `OPEN5GS_VERSION` v2.7.5 as default.\nThe `CHART_VERSION` for individual charts is 0.3.4, using `OPEN5GS_VERSION` v2.7.5 as default.\n\nTo download a chart:\n```bash\nhelm pull oci://registry-1.docker.io/borieher/\u003cchart_name\u003e --version \u003cCHART_VERSION\u003e\n```\n\nTo install a chart run:\n```bash\nhelm install -n \u003cnamespace\u003e \u003crelease_name\u003e ./\u003cchart_name\u003e\n```\n\nYou can provide your custom values using the helm flag `-f` and providing a `values.yaml` file:\n```bash\nhelm install -n \u003cnamespace\u003e -f values.yaml \u003crelease_name\u003e ./\u003cchart_name\u003e\n```\n\nIf the namespace does not exist, create it by using the helm flag `--create-namespace`.\n\nTo uninstall a chart and remove a namespace run:\n```bash\nhelm uninstall -n \u003cnamespace\u003e \u003crelease_name\u003e\n\nkubectl delete namespace \u003cnamespace\u003e\n```\n\n\u003c/details\u003e\n\n## Repository structure\n\n- `compose-files/` directory contains different docker compose deployments.\n- `configs/` directory contains the Open5GS configuration files for each docker compose deployment.\n- `docs/` directory contains the documentation for this project.\n- `images/` directory has each Network Function Dockerfile.\n- `misc/` contains examples and diagrams.\n\n### Overview of the basic deployment\n\n![Overview of the basic deployment](misc/diagrams/basic.png)\n\nThe `basic` deployment is prepared to work with external gNBs, exposing:\n- `N2` control plane interface on the AMF using `SCTP port 38412`\n- `N3` user plane  interface on the UPF using `UDP port 2152`\n\nIt also exposes the MongoDB database using `TCP port 27017`.\n\nCheck `docs/` to see the full documentation for the different deployments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBorjis131%2Fdocker-open5gs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBorjis131%2Fdocker-open5gs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBorjis131%2Fdocker-open5gs/lists"}