{"id":20126818,"url":"https://github.com/netbirdio/dashboard","last_synced_at":"2026-02-24T18:07:48.460Z","repository":{"id":37400834,"uuid":"394070034","full_name":"netbirdio/dashboard","owner":"netbirdio","description":"NetBird Management Service Web UI Panel","archived":false,"fork":false,"pushed_at":"2025-05-05T11:47:47.000Z","size":12356,"stargazers_count":300,"open_issues_count":48,"forks_count":77,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-05T12:44:27.225Z","etag":null,"topics":["react","spa"],"latest_commit_sha":null,"homepage":"https://app.netbird.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netbirdio.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-08T21:07:07.000Z","updated_at":"2025-05-05T06:37:52.000Z","dependencies_parsed_at":"2023-12-18T12:31:16.790Z","dependency_job_id":"32fe08f6-58c3-4ebb-8bcf-399965d5a4b8","html_url":"https://github.com/netbirdio/dashboard","commit_stats":{"total_commits":405,"total_committers":27,"mean_commits":15.0,"dds":0.6,"last_synced_commit":"c7775ade8c33c498204a96f74750fa1448161d5f"},"previous_names":[],"tags_count":95,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netbirdio%2Fdashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netbirdio%2Fdashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netbirdio%2Fdashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netbirdio%2Fdashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netbirdio","download_url":"https://codeload.github.com/netbirdio/dashboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254459084,"owners_count":22074604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["react","spa"],"created_at":"2024-11-13T20:17:44.600Z","updated_at":"2026-02-24T18:07:48.451Z","avatar_url":"https://github.com/netbirdio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NetBird Dashboard\n\nThis project is the UI for NetBird's Management service.\n\n**Hosted version:** https://app.netbird.io/\n\nSee [NetBird repo](https://github.com/netbirdio/netbird)\n\n## Why?\n\nThe purpose of this project is simple - make it easy to manage VPN built with [NetBird](https://github.com/netbirdio/netbird).\nThe dashboard makes it possible to:\n\n- track the status of your peers\n- remove peers\n- manage Setup Keys (to authenticate new peers)\n- list users\n- define access controls\n\n## Some Screenshots\n\n\u003cimg src=\"./src/assets/screenshots/peers.png\" alt=\"peers\"/\u003e\n\u003cimg src=\"./src/assets/screenshots/add-peer.png\" alt=\"add-peer\"/\u003e\n\n## Technologies Used\n\n- NextJS\n- ReactJS\n- Tailwind CSS\n- [React Flow](https://reactflow.dev/) for the Control Center\n- Auth0\n- Nginx\n- Docker\n- Let's Encrypt\n\n## How to run\n\nDisclaimer. We believe that proper user management system is not a trivial task and requires quite some effort to make it right. Therefore we decided to\nuse Auth0 service that covers all our needs (user management, social login, JWT for the management API).\nAuth0 so far is the only 3rd party dependency that can't be really self-hosted.\n\n1. Install [Docker](https://docs.docker.com/get-docker/)\n2. Register [Auth0](https://auth0.com/) account\n3. Running NetBird UI Dashboard requires the following Auth0 environmental variables to be set (see docker command below):\n\n   `AUTH0_DOMAIN` `AUTH0_CLIENT_ID` `AUTH0_AUDIENCE`\n\n   To obtain these, please use [Auth0 React SDK Guide](https://auth0.com/docs/quickstart/spa/react) up until \"Configure Allowed Web Origins\"\n\n4. NetBird UI Dashboard uses NetBird's Management Service HTTP API, so setting `NETBIRD_MGMT_API_ENDPOINT` is required. Most likely it will be `http://localhost:33071` if you are hosting Management API on the same server.\n5. Run docker container without SSL (Let's Encrypt):\n\n   ```shell\n   docker run -d --name netbird-dashboard \\\n     --rm -p 80:80 -p 443:443 \\\n     -e AUTH0_DOMAIN=\u003cSET YOUR AUTH DOMAIN\u003e \\\n     -e AUTH0_CLIENT_ID=\u003cSET YOUR CLIENT ID\u003e \\\n     -e AUTH0_AUDIENCE=\u003cSET YOUR AUDIENCE\u003e \\\n     -e NETBIRD_MGMT_API_ENDPOINT=\u003cSET YOUR MANAGEMENT API URL\u003e \\\n     netbirdio/dashboard:main\n   ```\n\n6. Run docker container with SSL (Let's Encrypt):\n\n   ```shell\n   docker run -d --name netbird-dashboard \\\n     --rm -p 80:80 -p 443:443 \\\n     -e NGINX_SSL_PORT=443 \\\n     -e LETSENCRYPT_DOMAIN=\u003cYOUR PUBLIC DOMAIN\u003e \\\n     -e LETSENCRYPT_EMAIL=\u003cYOUR EMAIL\u003e \\\n     -e AUTH0_DOMAIN=\u003cSET YOUR AUTH DOMAIN\u003e \\\n     -e AUTH0_CLIENT_ID=\u003cSET YOUR CLEITN ID\u003e \\\n     -e AUTH0_AUDIENCE=\u003cSET YOUR AUDIENCE\u003e \\\n     -e NETBIRD_MGMT_API_ENDPOINT=\u003cSET YOUR MANAGEMENT API URL\u003e \\\n     netbirdio/dashboard:main\n   ```\n\n## How to run local development\n\n1. Install [Node](https://nodejs.org/)\n2. Create and update the `.local-config.json` file. This file should contain values to be replaced from `config.json`\n3. Run `npm install` to install dependencies\n4. Run `npm run dev` to start the development server\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing by modifying the code inside `src/..`  \nThe page auto-updates as you edit the file.\n\n## How to migrate from old dashboard (v1)\n\nThe new dashboard comes with a new docker image `netbirdio/dashboard:main`.  \nTo migrate from the old dashboard (v1) `wiretrustee/dashboard:main` to the new one, please follow the steps below.\n\n1. Stop the dashboard container `docker compose down dashboard`\n2. Replace the docker image name in your `docker-compose.yml` with `netbirdio/dashboard:main`\n3. Recreate the dashboard container `docker compose up -d --force-recreate dashboard`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetbirdio%2Fdashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetbirdio%2Fdashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetbirdio%2Fdashboard/lists"}