Jinsi ya kujihifadhia seva ya NetBird VPN kwenye VPS
Jifunze hatua za kusakinisha NetBird VPN kwenye seva yako ya VPS. Pata mwongozo wa usanidi wa DNS, TLS, matumizi ya setup keys, na kulinganisha utendaji wake na Headscale.
Faida za kujihifadhia (self-hosting) seva ya NetBird VPN
Kujihifadhia seva ya NetBird VPN kunakuwezesha kumiliki 'control plane' kwenye VPS yako: hii ndiyo sehemu inayohifadhi orodha ya vifaa (peers), inayoamua ni mashine ipi inayoweza kuwasiliana na ipi, na inayosaidia vifaa viwili kupatana vikiwa nyuma ya NAT (network address translation). Tunnels zenyewe bado zinatumia WireGuard, zikiwa zimesimbwa kwa njia fiche moja kwa moja kati ya mashine zako. Kinachobadilika ni kwamba hakuna kampuni ya nje inayoshikilia orodha ya vifaa vyako au mchakato wako wa kuingia (login flow).
NetBird inakaa katikati ya vitu viwili ambavyo huenda tayari unavifahamu. Ni 'mesh overlay', kwa hivyo vifaa huunganishwa moja kwa moja badala ya kupitisha kila kitu kupitia gateway moja. Pia inaweza kujihifadhi kikamilifu (end-to-end), jambo linaloiweka katika kundi moja na Headscale, seva ya kudhibiti ya Tailscale inayojihifadhi. Ikiwa umewahi kutumia 'single-gateway tunnel' pekee, soma kwanza tofauti kati ya WireGuard ya kawaida na mesh overlay, kwa sababu mtazamo huo ndio unaofanya maelezo yaliyobaki ya ukurasa huu kuwa na manufaa.
Ikiwa unachotaka hasa ni seva moja ambayo trafiki yako yote inapitia, 'mesh' ni mfumo mgumu kuliko unavyohitaji. WireGuard VPN ya kawaida kwenye VPS moja au Tailscale exit node hufanya kazi hiyo kwa gharama ndogo zaidi ya uendeshaji.
Stack inayoendesha mfumo huu kwa sasa
Muundo umebadilika hivi karibuni, na maandiko mengi ya zamani yanaelezea muundo wa kale. Kufikia Agosti 2026, kwenye toleo la v0.76.2, hati ya quickstart huandika faili ya Compose yenye huduma tatu kwa chaguo-msingi.
netbird-serverhubeba API ya usimamizi, huduma ya signal, relay yenye STUN listener iliyopachikwa, na identity provider iliyopachikwa. Katika matoleo ya zamani, hizi zilikuwa containers tofauti na identity provider ilikuwa usakinishaji wa Zitadel tofauti ambao ilibidi ujenge kwanza.dashboardni dashibodi ya usimamizi ya wavuti.traefikhukamilisha TLS (transport layer security) na huomba cheti kutoka kwa Let's Encrypt wakati wa kuanza kwa mara ya kwanza.
Kuna huduma nyingine mbili ambazo hubaki zimezimwa isipokuwa ukikubali kwenye kidokezo. Huduma ya NetBird Proxy huchapisha huduma za ndani kwenye hostnames za umma. CrowdSec huchuja trafiki ya uhalifu. Hakuna kati ya hizi inayohitajika ili kujenga mesh inayofanya kazi, na zote mbili hutumia kumbukumbu (memory) kwenye seva ndogo.
Ikiwa unatoka kwenye wg-easy katika container moja ya Docker, huu ni ongezeko la idadi ya vipengele. Unachopata ni sera za ufikiaji na akaunti kwa kila mtumiaji, na peers zinazounganishwa moja kwa moja badala ya kupitia gateway moja.
Unachohitaji kabla ya kuanza
Jina la kikoa (domain name) la umma ni la lazima. Dashibodi, API na relay zote hutumia HTTPS kwenye port 443, na Traefik hupata cheti chake kutoka Let's Encrypt kwa kutumia HTTP challenge, ambayo inahitaji jina linaloelekeza kwenye VPS hii kutoka kwenye mtandao wa umma. Anwani ya IP pekee haitafanya kazi katika mtiririko huu.
Tengeneza A record moja, netbird.example.com inayoelekeza kwenye anwani ya IPv4 ya umma ya VPS, na usubiri ikamilike kabla ya kuendesha chochote.
dig +short netbird.example.comHiyo lazima ionyeshe anwani ya seva yako. Kuendesha kisakinishi kabla ya DNS kusambaa kunamaanisha ombi la cheti litafeli wakati wa kuanza, na majaribio yaliyofeli mara kwa mara yatasababisha kufungiwa na Let's Encrypt (rate limits), hivyo utalazimika kusubiri saa moja ili kujaribu tena.
Port tatu lazima ziweze kufikiwa kutoka kwenye mtandao: TCP 80 kwa ajili ya certificate challenge na kuelekeza kwenye HTTPS, TCP 443 kwa ajili ya dashibodi, API, signal na relay traffic, na UDP 3478 kwa ajili ya STUN.
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3478/udp
sudo ufw reload
sudo ufw statusZifungue pia kwenye firewall ya mtandao ya mtoa huduma wako. Hicho ni kidhibiti tofauti katika paneli nyingi za VPS, na ndiyo sababu seva ambayo ufw status yake inaonekana kuwa sahihi bado inakataa miunganisho.
STUN (session traversal utilities for NAT) ndiyo njia ambayo peer hujifunza anwani ya umma na port iliyopewa na NAT yake, ili peers wawili waweze kujaribu kutengeneza tunnel ya moja kwa moja. Ukizuia UDP 3478, peers bado wataunganishwa kupitia relay kwenye TCP 443, hivyo hakuna kitakachoonekana kuharibika. Badala yake, utapata Connection type: Relayed kwenye kila peer, na trafiki yote itapita kwenye VPS yako badala ya kwenda moja kwa moja kati ya peers.
Kwa upande wa programu, unahitaji Docker ikiwa na Compose v2 plugin, pamoja na jq na curl. Hati ya usakinishaji hukagua vyote na kusimama ikiwa kimoja kinakosekana. Ikiwa Docker ni mpya kwenye seva hii, kwanza fanya Docker Compose ifanye kazi kwenye VPS.
Port ikiwa utaruka reverse proxy iliyojumuishwa
Kuendesha bila Traefik kunamaanisha huduma binafsi zinawekwa wazi moja kwa moja, na orodha ya port huongezeka:
- TCP 80, HTTP redirects
- TCP 443, HTTPS
- TCP 33073, management gRPC
- TCP 10000, signal gRPC
- TCP 33080, relay over WebSocket au QUIC
- UDP 3478, STUN
Chagua njia hii tu ikiwa seva tayari inashughulikia TLS kwa kitu kingine. Vinginevyo, Traefik iliyojumuishwa inahitaji sheria chache na hupunguza makosa.
Sakinisha seva ya NetBird kwa kutumia script ya quickstart
Njia iliyoandikwa ya kutumia amri moja hupeleka release ya hivi karibuni moja kwa moja kwenye shell:
curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started.sh | bashBadala yake, ifunge kwenye toleo maalum (pin). latest hubadilika, kwa hivyo amri hiyo hiyo ikitekelezwa baada ya wiki mbili inaleta usakinishaji tofauti, na hakuna kitu kwenye diski kinachorekodi ni toleo lipi liliandika usanidi wako. Pakua release iliyowekewa tag, isome, kisha uiendeshe.
mkdir -p ~/netbird
cd ~/netbird
curl -fsSL -o getting-started.sh \
https://github.com/netbirdio/netbird/releases/download/v0.76.2/getting-started.sh
less getting-started.sh
bash getting-started.shScript hiyo huuliza domain kwanza:
Enter the domain you want to use for NetBird (e.g. netbird.my-domain.com):Kisha huuliza jinsi TLS itakavyoshughulikiwa:
Which reverse proxy will you use?
[0] Traefik (recommended - automatic TLS, included in Docker Compose)
[1] Existing Traefik (labels for external Traefik instance)
[2] Nginx (generates config template)
[3] Nginx Proxy Manager (generates config + instructions)
[4] External Caddy (generates Caddyfile snippet)
[5] Other/Manual (displays setup documentation)
Enter choice [0-5] (default: 0):Chagua [0]. Chaguzi 2 hadi 5 huandika kijisehemu cha usanidi na kukuachia wewe kazi ya kuunganisha, jambo ambalo ni sahihi kwenye seva inayotumia proxy tayari, lakini si sahihi kwenye seva mpya. Chaguo 0 kisha huuliza anwani ya barua pepe ya Let's Encrypt, inayotumika kwa arifa za kuisha kwa muda wa cheti.
Kataa huduma ya NetBird Proxy wakati wa usakinishaji wa kwanza. Inahitaji rekodi mbili zaidi za DNS, proxy.netbird.example.com na wildcard *.proxy.netbird.example.com, na haifanyi kazi yoyote kwa mesh ya kawaida. Kataa pia CrowdSec. Zote mbili zinaweza kuongezwa baadaye.
Script hiyo huandika kwenye saraka ya sasa: docker-compose.yml, config.yaml yenye mode 600, dashboard.env, na traefik-dynamic.yaml ulipochagua Traefik iliyojumuishwa. Ichukulie saraka hiyo kama hali (state) unayopaswa kuhifadhi, kwa sababu config.yaml inashikilia ufunguo unaosimba data kwenye hifadhi. Kuipoteza si kitu kinachoweza kurekebishwa kwa kusakinisha upya.
docker compose ps
docker compose logs -f netbird-serverKila huduma inapaswa kusoma running, na logi ya seva inapaswa kutulia badala ya kuanza upya mara kwa mara. Fuatilia cheti kando:
docker compose logs traefik | grep -i acmeACME (automatic certificate management environment) ni itifaki inayotumiwa na Traefik kupata cheti. Hitilafu hapa mara nyingi husababishwa na DNS au port 80 iliyofungwa.
Unda akaunti ya kwanza ya admin
Fungua https://netbird.example.com. Kwenye usakinishaji mpya, ukurasa huu huonyesha sehemu ya usanidi badala ya fomu ya kuingia. Ingiza anwani ya barua pepe, jina, na nenosiri, kisha bofya Create Account. Akaunti hiyo inakuwa admin wa kwanza, na ukurasa utaelekezwa kwenye fomu ya kuingia.
Akaunti hiyo inakaa kwenye hifadhi ya watumiaji ya NetBird yenyewe, inayotumia identity provider iliyopachikwa ndani ya container ya netbird-server. Hakuna huduma ya nje inayohusika. Hii ndiyo mabadiliko makubwa zaidi kutoka kwa NetBird ya mwaka mmoja uliopita, ambapo usakinishaji uliokuwa ukifanya kazi ulihitaji kwanza kusanidi Zitadel au Keycloak na kunakili thamani nne za OIDC (OpenID Connect) kwenye setup.env kabla ya kitu chochote kuanza.
Ukipata onyo la cheti cha kivinjari badala ya ukurasa wa usanidi, cheti hicho hakijatolewa. Rekebisha hilo kabla ya kuendelea, kwa sababu dashboard huwasiliana na API kupitia hostname ileile na itashindwa kwa njia zisizoeleweka ikiwa nyuma ya cheti kibovu.
Unganisha peer yako ya kwanza
Sakinisha client kwenye mashine yoyote ya Linux, ikijumuisha VPS yenyewe ikiwa unataka iwe kwenye mesh:
curl -fsSL https://pkgs.netbird.io/install.sh | shKwenye Debian na Ubuntu, script hiyo husanidi hazina ya vifurushi (package repository) ya NetBird na kisha kusakinisha client kupitia apt, hivyo meneja wa vifurushi atakuwa na udhibiti kamili. Ikiwa kuingiza script moja kwa moja kwenye shell hakukufurahishi, ihifadhi kwanza kwa kutumia curl -fsSL -o install.sh https://pkgs.netbird.io/install.sh na uisome kabla ya kuikimbiza kwa sh install.sh. Vyovyote vile, thibitisha kilichosakinishwa:
apt-cache policy netbirdnetbird ndiyo client ya mstari wa amri (command line) na daemon. netbird-ui ni programu ya tray ya desktop, na seva isiyo na kiolesura (headless server) haina matumizi nayo.
Sasa elekeza client kwenye seva yako:
sudo netbird up --management-url https://netbird.example.comUsitumie --management-url na client itajisajili kwenye huduma ya NetBird inayohifadhiwa mtandaoni (hosted service), kwa sababu hiyo ndiyo chaguo-msingi iliyojengwa ndani. Amri hiyo bado itafanikiwa, mashine bado itapata anwani, na dashboard yako ya kujihudumia (self-hosted) itabaki tupu. Hili ni kosa ambalo karibu kila mtu hufanya mara moja.
Amri hiyo huchapisha URL ya kufungua kwenye kivinjari ili kukamilisha login. Baada ya hapo:
netbird status
ip addr show wt0Soma mistari minne kutoka netbird status: Management: Connected, Signal: Connected, mstari wa Relays: unaoripoti kila relay inayopatikana, na NetBird IP: katika masafa ya overlay. wt0 ni interface ya WireGuard ambayo NetBird hutengeneza, na inapaswa kubeba anwani hiyo hiyo.
Unganisha mashine ya pili bila usimamizi kwa kutumia setup key
Kuingia kupitia kivinjari hakufanyi kazi kwa mashine isiyo na kivinjari na isiyo na mtumiaji mbele yake. Setup key ni token ya kabla ya uthibitishaji inayoisajili mashine bila kuhitaji hatua ya maingiliano. Itengeneze kwenye dashibodi chini ya Setup Keys.
Kuna aina mbili. Ufunguo wa matumizi ya mara moja (one-off key) huthibitisha mashine moja tu na kisha hutumika. Ufunguo unaoweza kutumika tena (reusable key) husajili mashine nyingi, na unaweza kuweka kikomo cha idadi ya mashine hizo. Zote mbili huhitaji muda wa kuisha (expiry), na zote zinaweza kugawa kiotomatiki peer mpya kwenye kikundi, ili sheria za ufikiaji za kikundi hicho zianze kufanya kazi mara tu mashine hiyo inapoonekana.
sudo netbird up --setup-key <SETUP-KEY> \
--management-url https://netbird.example.com \
--hostname build-runner-01--hostname huweka jina linaloonekana kwenye dashibodi. Bila hiyo, peer huchukua jina ambalo mashine inajiita, na orodha ya entries zote zenye jina ubuntu haimsaidii mtu yeyote.
Kwa containers na mawakala wa ujenzi (build agents) wa muda mfupi, alama ufunguo huo kama ephemeral unapouunda. Peers zilizosajiliwa kwa ufunguo wa ephemeral huondolewa kiotomatiki mara tu zinapokuwa nje ya mtandao kwa zaidi ya dakika 10, jambo linalozuia entries zilizokufa kujaa kwenye orodha ya peers.
Kikomo kimoja cha kuelewa kabla ya kupanga matumizi ya setup keys: kumaliza muda wa ufunguo au kuufuta husimamisha usajili mpya, lakini hakukati muunganisho wa mashine zilizokwisha kujisajili nao. Kuondoa ufikiaji wa mashine kunamaanisha kuondoa peer huyo.
Je, bado unahitaji mtoa huduma wa utambulisho (identity provider) tofauti?
Kwa usakinishaji mdogo, hapana. Hifadhi ya watumiaji iliyojengewa ndani inashughulikia akaunti zinazoundwa kutoka kwenye dashboard, na hiyo inatosha kwa watu wachache.
Unahitaji mtoa huduma wa utambulisho wa nje pale unapokuwa tayari unaye mmoja na hutaki kuwa na orodha ya pili ya watumiaji. NetBird inakubali mtoa huduma yeyote anayezungumza OIDC. Sajili mteja wa OIDC wa siri (confidential OIDC client) kwa mtoa huduma wako, kisha uiongeze kwenye dashboard ya NetBird kwa kutumia thamani nne: jina, client ID, client secret na issuer. NetBird inakupa redirect URL ya kubandika (paste) kwa mtoa huduma huyo. Integrations zilizopewa majina zipo kwa ajili ya Google, Microsoft Entra ID, Okta, Zitadel, Keycloak, Authentik na Pocket ID, na nyingine yoyote inaingia kama generic OIDC. Ikiwa tayari unaendesha Authentik kama mfumo wako wa single sign-on wa kujihostia, hii ndiyo njia inayodumisha orodha moja ya akaunti badala ya mbili.
Kuingia kwa akaunti ya ndani (local login) kunabaki kupatikana baada ya kuongeza mtoa huduma, na kila mtoa huduma uliyesanidi huonekana kwenye ukurasa wa kuingia. Dumisha akaunti moja ya admin ya ndani yenye nenosiri imara. Usanidi wa OIDC uliovunjika utakuacha na njia ya kuingia.
NetBird au Headscale: ni ndege gani ya udhibiti (control plane) unayopaswa kuendesha?
Zote mbili huondoa utegemezi uleule, yaani seva ya udhibiti inayomilikiwa na wengine ambayo wateja wako wangeiwasiliana. Hizi si miradi ya aina moja.
Headscale hutekeleza upya seva ya udhibiti ya Tailscale, na wewe unaendelea kutumia wateja rasmi wa Tailscale. Hakuna dashibodi rasmi ya wavuti. Unasimamia watumiaji na funguo za awali za uthibitishaji (pre-authentication keys) kwa kutumia amri ya headscale dhidi ya faili ya usanidi. Kuna violesura vya wavuti vilivyotengenezwa na jamii, na havijumuishwi kwenye mradi huu. Hii inafaa watu wanaotaka hali yao (state) iwe kwenye faili na mabadiliko yao yawe kwenye mfumo wa kudhibiti matoleo (version control).
NetBird husafirisha bidhaa nzima: mteja wake, dashibodi yake, mtoa huduma wa utambulisho (identity provider) aliyejengewa ndani, na sera za ufikiaji zinazohaririwa kwenye kivinjari. Hii ina sehemu nyingi zaidi zinazohamia kwenye VPS yako, na ni kazi ndogo zaidi kuikabidhi kwa mwenzako ambaye hatataka kufungua terminal kamwe.
Endesha Headscale ikiwa tayari umewekeza kwenye wateja wa Tailscale au unataka ndege ya udhibiti ndogo iwezekanavyo. Endesha NetBird ikiwa watu kadhaa wanahitaji kusimamia peers na unataka dashibodi na SSO bila kulazimika kuijenga mwenyewe.
Je, VPS ndogo kiasi gani inaweza kuendesha hii?
Kiwango cha chini kilichopendekezwa ni CPU 1 na kumbukumbu ya 2 GB. Maelezo ya NetBird yenyewe yanaweka kiwango cha chini karibu na 1 GB ya RAM sasa kwa kuwa usimamizi wa watumiaji ni wa ndani, ikilinganishwa na 2 GB hadi 4 GB ambazo usanidi wa zamani ulihitaji wakati Zitadel kamili ilikuwa sehemu ya stack. Nunua 2 GB. Nafasi hiyo ya ziada ndiyo inayoruhusu upgrade kuvuta images mpya wakati zile za zamani bado ziko kwenye diski.
Mambo matatu ni salama kuyaacha kwenye seva ndogo. Kataa huduma ya NetBird Proxy, ambayo ipo kwa ajili ya kuchapisha huduma za ndani kwenye hostnames za umma na haina uhusiano wowote na peers wanaounganishwa. Kataa CrowdSec, ambayo inafaa kuongezwa kwenye seva iliyo wazi baadaye badala ya siku ya kwanza. Hifadhi store ya SQLite ya kawaida kwenye volume ya netbird_data, na uhamie PostgreSQL pale tu unapogawanya deployment kwenye mashine nyingi au unapofikia concurrency halisi, jambo ambalo limeandikwa kama uhamiaji unaoweza kufanya baadaye.
Relay ndiyo sehemu moja ambayo huwezi kuiondoa. Peers wawili ambao NAT yao inawapa port tofauti kwa kila destination hawatawahi kuanzisha tunnel ya moja kwa moja, kwa hivyo relay ndiyo njia pekee inayowafanya wafanye kazi kabisa. Kuizima hakuhifadhi kumbukumbu nyingi na kunavunja miunganisho kwa njia ambayo ni vigumu kuifuatilia.
Seva moja inaposhindwa kutosheleza, relays ndizo kitu cha kwanza kuhamishwa kutoka humo. Relay inayojitegemea inaendeshwa kwa NB_LISTEN_ADDRESS, NB_EXPOSED_ADDRESS, NB_AUTH_SECRET na NB_ENABLE_STUN. Siri iliyoshirikiwa (shared secret) lazima iwe sawa kwenye relay na kwenye seva kuu, vinginevyo wateja watashindwa kujithibitisha kwake.
Njia za kufeli, na utakachokiona
Dashibodi inaonyesha onyo la cheti. Traefik haikupata cheti. Endesha docker compose logs traefik | grep -i acme. Kuna sababu mbili. Aidha dig +short netbird.example.com haielekezi kwenye VPS hii bado, au TCP 80 imefungwa mahali fulani kati ya Let's Encrypt na container, kwa kawaida kwenye firewall ya mtandao ya mtoa huduma badala ya ufw. Rekebisha sababu hiyo kabla ya kujaribu tena mara kwa mara, kwa sababu uthibitishaji ulioshindwa una kikomo cha kasi na utajifungia usipate nafasi ya kujaribu tena kwa saa moja.
Mteja anasema ameunganishwa na dashibodi haina kitu. Mteja alijisajili na huduma ya NetBird inayopangishwa (hosted), kwa sababu --management-url haikuwepo. Endesha netbird status --detail na usome mstari wa Management:, ambao unataja seva anayozungumza nayo kwa sasa. Kuona Management: Connected to https://api.netbird.io:443 inamaanisha kuwa alienda kwenye cloud. Endesha sudo netbird down, kisha sudo netbird up --management-url https://netbird.example.com tena.
Kila peer inaonyesha Connection type: Relayed. Hakuna vichuguu (tunnels) vya moja kwa moja vinavyoundwa, kwa hivyo trafiki yote inapita kwenye VPS yako na kuongeza latency. Angalia UDP 3478 kwenye firewall ya VPS na kwenye firewall ya mtoa huduma, kwa sababu STUN ndiyo inayomruhusu peer kujua anwani yake ya umma na port. netbird status --detail pia huchapisha Direct: false na aina za ICE (interactive connectivity establishment) candidate kwa kila peer, jambo linaloonyesha jaribio limefika wapi. Kwenye baadhi ya mitandao, relayed ndiyo matokeo pekee yanayopatikana na hakuna tatizo lolote.
Peer anajiunga na hawezi kufikia chochote. Kuwa kwenye mesh haimaanishi kuwa peers wawili wanaweza kuzungumza. Sera za ufikiaji (access policies) ndizo zinazoamua hilo, na kikundi kisicho na sera kilichounganishwa hakifikii chochote. Angalia sera kwenye dashibodi kabla ya kuanza kutatua matatizo ya routes na firewalls.
netbird status inaripoti tatizo la daemon. Huduma haifanyi kazi. Tumia sudo netbird service status na sudo netbird service start. Kumbukumbu (logs) za mteja ziko kwenye /var/log/netbird/client.log. Kwa chochote ambacho huwezi kukitambua, netbird debug bundle --anonymize --system-info hukusanya logs, hali, routes, mipangilio ya DNS na hali ya firewall kwenye kumbukumbu moja.
Hifadhi nakala na maboresho
Mambo mawili hubeba usakinishaji mzima: saraka inayoshikilia docker-compose.yml na config.yaml, na Docker volume inayoshikilia hifadhidata na funguo za usimbaji (encryption keys). Hifadhi nakala zote mbili pamoja. config.yaml hushikilia ufunguo unaosimba data kwenye hifadhi, kwa hivyo nakala ya hifadhidata bila ufunguo huo haitakupa data yoyote unayoweza kuisoma.
docker volume ls
docker compose down
sudo tar czf netbird-config.tgz -C ~ netbird
docker run --rm -v netbird_netbird_data:/data -v "$PWD":/backup \
alpine tar czf /backup/netbird-data.tgz -C /data .
docker compose up -dCompose huongeza viambishi awali vya majina ya volume kwa kutumia saraka ya mradi, kwa hivyo volume iliyoandikwa kama netbird_data kwa kawaida huonekana kama netbird_netbird_data. Tekeleza docker volume ls kwanza na utumie jina linalochapishwa, au docker run hapo juu itafeli kwa kuunda kimyakimya volume tupu na kutohifadhi chochote. Hifadhi nakala hizo nje ya VPS. Ikiwa tayari una zana ya kuhifadhi nakala, restic au BorgBackup hushughulikia sehemu ya nje ya seva.
Kuboresha seva ni kuvuta (pull) na kuunda upya (recreate):
docker compose pull
docker compose up -d
docker compose psKabla ya kutegemea hilo, tekeleza docker compose config | grep image:. Lebo yoyote inayosomeka latest inapaswa kufungwa (pinned) kwenye toleo maalum, kwa sababu ile ile uliyofunga hati ya usakinishaji: unataka kujua nini kinafanya kazi, na unataka toleo la kurudi nyuma wakati uboreshaji unapoleta hitilafu. Wateja huboresha kupitia meneja wa vifurushi (package manager) aliyewasakinisha.
FAQ
Je, ninahitaji mtoa huduma wangu wa utambulisho ili ku-self-host NetBird?
Hapana. Release za sasa zinajumuisha hifadhi ya watumiaji iliyojengewa ndani, kwa hivyo unatengeneza akaunti ya kwanza ya admin kwenye kivinjari katika https://netbird.example.com na kuongeza watumiaji kutoka kwenye dashboard baadaye. Mtoa huduma wa nje wa OIDC ni wa hiari na anaweza kuongezwa baadaye kwa kutumia thamani nne: jina, client ID, client secret na issuer. Miongozo inayokuambia udeploy Zitadel au Keycloak kabla ya NetBird inaelezea usanidi ambao hauhitajiki tena, na kuifuata kunakulazimu kuendesha huduma nyingine ya ziada.
Kwa nini peers zangu zote zinaonyesha Connection type: Relayed?
Miunganisho ya moja kwa moja haijatengenezeka, kwa hivyo trafiki inapita kwenye relay iliyo kwenye VPS yako. Sababu ya kawaida ni UDP 3478 kuzuiwa, ambayo ni port ya STUN inayotumiwa na peers kugundua anwani yao ya umma na port. Ifungue kwenye firewall ya VPS na kwenye firewall ya mtandao ya mtoa huduma wako, kisha endesha netbird status --detail tena na usome mstari wa Direct:. Kwenye mtandao ambao NAT yake inagawa port tofauti kwa kila destination, relayed ndio matokeo pekee yanayowezekana na hakuna kilichosanidiwa vibaya.
Mteja wangu ameunganishwa lakini dashboard haionyeshi peers. Nini kimetokea?
Mteja amejisajili na huduma ya NetBird iliyopangishwa badala ya seva yako, jambo linalotokea wakati --management-url inapoachwa. netbird status --detail huchapisha seva inayowasiliana nayo kwenye mstari wa Management:, kwa hivyo thamani kama https://api.netbird.io:443 inathibitisha hilo. Endesha sudo netbird down, kisha sudo netbird up --management-url https://netbird.example.com, na peer ataonekana kwenye dashboard yako.
NetBird ya kujihostia inatofautiana vipi na Headscale?
Zote zinachukua nafasi ya seva ya udhibiti iliyopangishwa na seva unayoiendesha wewe mwenyewe. Headscale ni control plane pekee: unaisimamia kwa kutumia amri ya headscale na faili ya config, hakuna console rasmi ya wavuti, na inaendesha wateja rasmi wa Tailscale. NetBird inakuja na mteja wake, dashboard ya admin na ushirikiano wa mtoa huduma wa utambulisho katika stack moja. Headscale ni ndogo kuendesha na inahifadhi hali yake kwenye faili. NetBird ni rahisi zaidi kuwapa watu ambao hawatatumia terminal.
VPS ya ukubwa gani inahitajika kwa seva ya NetBird ya kujihostia?
Kiwango cha chini kilichopendekezwa ni 1 CPU na 2 GB ya kumbukumbu, na 2 GB ndio namba unayopaswa kununua. Kiwango cha chini cha kiutendaji kimeshuka hadi karibu 1 GB katika release za hivi karibuni kwa sababu mtoa huduma wa utambulisho sasa ameingizwa ndani badala ya kuwa deployment tofauti. Kataa huduma za hiari za proxy na CrowdSec wakati wa usakinishaji, na uendelee kutumia hifadhi ya SQLite ya default hadi utakapohitaji PostgreSQL kikweli.