{"id":44787069,"url":"https://github.com/medianetlab/NEF_emulator","last_synced_at":"2026-02-28T23:00:48.210Z","repository":{"id":37443605,"uuid":"411293515","full_name":"medianetlab/NEF_emulator","owner":"medianetlab","description":"Configurable, emulated environment for providing Network Exposure Function (NEF) APIs","archived":false,"fork":false,"pushed_at":"2025-02-08T11:37:01.000Z","size":169755,"stargazers_count":28,"open_issues_count":8,"forks_count":17,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-31T16:59:00.431Z","etag":null,"topics":["3gpp","5g","5g-core","nef","netapp","network-exposure-function"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/medianetlab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2021-09-28T13:29:36.000Z","updated_at":"2025-09-24T10:29:57.000Z","dependencies_parsed_at":"2023-11-14T11:26:14.412Z","dependency_job_id":"49c4430c-6b67-4267-9b04-dd7b80448d29","html_url":"https://github.com/medianetlab/NEF_emulator","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/medianetlab/NEF_emulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medianetlab%2FNEF_emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medianetlab%2FNEF_emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medianetlab%2FNEF_emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medianetlab%2FNEF_emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medianetlab","download_url":"https://codeload.github.com/medianetlab/NEF_emulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medianetlab%2FNEF_emulator/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":["3gpp","5g","5g-core","nef","netapp","network-exposure-function"],"created_at":"2026-02-16T10:00:19.648Z","updated_at":"2026-02-28T23:00:48.193Z","avatar_url":"https://github.com/medianetlab.png","language":"JavaScript","funding_links":[],"categories":["Core Network"],"sub_categories":["5G"],"readme":"# NEF_emulator\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./backend/app/app/static/NEF_logo_400x400_light.svg\" /\u003e\n\u003c/p\u003e\n\n## Contents\n\n- [Setup locally](#-setup-locally)\n  - [Try out your setup](#try-out-your-setup)\n- [How to work with a specific tag / release](#%EF%B8%8F-how-to-work-on-a-specific-tag--release)\n- [NetApp communication options](#%EF%B8%8F-netapp-communication-options)\n- [Integration with CAPIF](#integration-with-capif)\n\n## ⚙ Setup locally\n\n**Host prerequisites**: `Docker version 23.0.1`, `Docker Compose v2`, `build-essential`\\*, `jq`\\*\\*\n\nAfter cloning the repository, there are 4 more steps to do. For convinience, we have created a [`Makefile`](Makefile) that contains a command for each step + several common `docker-compose` tasks which you may find handy in the future.\n\n1. create your local `.env` file\n2. build the container images\n3. run the containers\n4. add some test data (optional)\n\n```bash\ncd NEF_emulator\n\n# 1.\nmake prepare-dev-env\n\n# 2.\nmake build\n\n# 3.\nmake up\n\n# 4.\nmake db-init\n```\n\n\u003e\\* 💡 Info: *To use the `make` command you need to `apt install build-essential` first. In case you don't want to proceed with this installation, you can head over to the `Makefile` and copy/paste the shell commands that are being used for every step.*\n\n\u003e \\*\\* 💡 Info: *The shell script used at step 4 (for adding test data) uses `jq` which is a lightweight and flexible command-line JSON processor. You can install it with `apt install jq`*\n\n### Try out your setup\n\nAfter the containers are up and running:\n\n - access and start playing with the Swager UI at: [http://localhost:8090/nef/docs](http://localhost:8090/nef/docs) or [https://localhost:4443/nef/docs](http://localhost:4443/nef/docs)\n - login to the admin dashboard at: [http://localhost:8090/login](http://localhost:8090) or [https://localhost:4443/login](http://localhost:4443/login)\n     - Default credentials: `admin@my-email.com` / `pass`\n     - they can be found/changed inside your `.env` file\n\n\u003cbr\u003e\u003cbr\u003e\n\n## 🏷️ How to work on a specific tag / release\n\nAfter `git clone` or `git pull` you can specify the release you want to work on by just using its `tag` in the following command:\n\n    git switch --detach tag_here\n\nYou will get into a *detached HEAD* state in Git, but this is perfectly fine, you can go back anytime by just using `git switch main`.  \nShort reasoning on why we choose tags over branches:\n\n\u003e**A tag is immutable.**  \n\u003e[source](https://stackoverflow.com/questions/9810050/why-should-i-use-tags-vs-release-beta-branches-for-versioning/)\n\n\n\n\u003cbr\u003e\u003cbr\u003e\n\n\n\n## ↔️ NetApp communication options\n\nTo be updated...\n\n## Integration with CAPIF\n\nIn order to integrate NEF Emulator with CAPIF you should perform the following steps:\n\n1. Ensure that all CAPIF services are up and running. Clone the code from the official Github repository https://github.com/EVOLVED-5G/CAPIF_API_Services, navigate to the `services/` directory and execute the following commands:\n\n```\ncd services/\nsudo ./run.sh\n./check_services_are_running.sh\n```\nThese commands will start the CAPIF services and ensure that they are running correctly.\n\n2. Configure the NEF Emulator project to join the CAPIF network by following one of the below steps based on your deployment requirements:\n\n  - For local deployment:\nUpdate the `EXTERNAL_NET` environment variable to `true` in the `.env` file of the NEF Emulator project. This will allow NEF containers to join CAPIF's pre-existing network called `services_default`. If you do not want to use NEF Emulator with CAPIF, change the `EXTERNAL_NET` environment variable back to false in the `.env` file. Add the following entry to the `/etc/hosts` file of the host machine:\n```\n127.0.0.1 capifcore\n```\n\u003e This entry maps the hostname \"capifcore\" to the IP address `127.0.0.1`, which is the loopback address of the local network interface.\n\n  - For deployment in separate VMs:\nUpdate the `EXTERNAL_NET` environment variable to `false` in the `.env` file of the NEF Emulator project. Add the following entry to the `/etc/hosts` file of the host machine:\n```\n\u003cip-of-capif\u003e capifcore\n```\n\u003e This entry maps the hostname \"capifcore\" to the IP address of the machine that CAPIF is running on.\n\n3. Start the NEF services by executing either the make up or make debug-up command in the NEF Emulator project directory.\n\n\u003e 💡 Once you have completed these steps, NEF should be successfully onboarded to the CAPIF Core Function. To confirm this, check that 12 files have been created in the `app/core/certificates/` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedianetlab%2FNEF_emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedianetlab%2FNEF_emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedianetlab%2FNEF_emulator/lists"}