Cum să găzduiești Beszel pe cont propriu în 2026: agenți, rețelistică privată și backupuri
Ghid practic pentru găzduirea Beszel pe cont propriu, cu Docker, porturi, date persistente, TLS, securitate, backupuri și problemele care împiedică utilizarea în producție. Pas cu pas.
Cea mai scurtă demonstrație Beszel arată că un proces ascultă pe portul 8090. Producția necesită dovezi mai solide. Trebuie să treacă acest scenariu chiar și după înlocuirea containerului: înregistrează un agent, monitorizează graficele pentru CPU, memorie și disc, declanșează o alertă de prag și reconectează agentul după repornirea hubului.
Beszel este implementat cu un scop clar: monitorizarea serverelor cu un consum redus de resurse într-un container de dimensiuni mici. Cea mai frecventă capcană de implementare este că hubul nu poate ajunge la portul 45876 de pe un agent sau cheia SSH s-a schimbat, astfel încât gestionarea URL-ului public și starea persistentă necesită aceeași atenție ca pornirea imaginii.
Stabilește limita de runtime pentru Beszel
Sănătatea procesului și sănătatea produsului sunt lucruri separate în Beszel. Portul 8090 poate răspunde, în timp ce tranzacția adresată utilizatorului eșuează în continuare. Contractul de rețea pentru Beszel presupune câte un agent Beszel pe fiecare mașină monitorizată. Păstrează endpointurile private în DNS intern, permite doar apelurile outbound necesare și oferă-i lui Beszel un service credential cu permisiuni limitate.
Folosește acest exercițiu de verificare după modificări importante de configurare: înregistrează un agent, monitorizează graficele pentru CPU, memorie și disc, declanșează o alertă de prag și reconectează agentul după repornirea hubului. Nu include verificări externe costisitoare în liveness probes, pentru ca o indisponibilitate a unui provider să nu provoace o buclă de repornire. Planificarea capacității ar trebui să urmărească numărul de agenți, retenția metricilor, stocarea hubului și accesibilitatea în rețea către fiecare agent pe portul său dedicat — aspecte mai apropiate de presiunea reală asupra Beszel decât cererile către pagini.
Clarifică originea publică
Browserul, clientul API și Beszel trebuie să folosească aceeași origine. Pentru a garanta acest lucru, expune hubul prin HTTPS și păstrează porturile agenților private. Păstrează hostul și protocolul originale, făcând în același timp portul 8090 indisponibil ca adresă publică alternativă.
Ghidul de depanare pentru site-uri indisponibile te ajută să diferențiezi o rută inaccesibilă de o aplicație care răspunde. Distincția este importantă aici: hubul nu poate ajunge la portul 45876 de pe un agent sau cheia SSH s-a schimbat. Doar prima situație se rezolvă prin modificări la ingress; a doua necesită verificarea logurilor Beszel, a stării sau a workloadului.
Rulează prima instanță configurată pentru producție
Primul container ar trebui să poată fi șters și recreat cu ușurință. Păstrează datele în afara writable layer, leagă portul 8090 doar acolo unde proxy-ul poate ajunge la el și transmite configurația la runtime.
docker run -d \
--name beszel \
--restart unless-stopped \
-p 127.0.0.1:8090:8090 \
-v beszel-data:/beszel_data \
henrygd/beszel:latest
Fixează versiunea imaginii după testul inițial. Citește cea mai veche eroare de pornire, nu mesajul final de repornire, verifică fiecare mount cu docker inspect și urmărește logurile în timp ce înregistrezi un agent, monitorizezi graficele pentru CPU, memorie și disc, declanșezi o alertă de prag și reconectezi agentul după repornirea hubului. Această secvență diferențiază o comandă incorectă pentru imagine de o problemă de dependențe sau permisiuni.
Loguri care răspund la următoarea întrebare
Un container cu status green este necesar, dar nu suficient. Indicatorul de nivel serviciu este finalizarea cu succes a acțiunii „înregistrează un agent, monitorizează graficele pentru CPU, memorie și disc, declanșează o alertă de prag și reconectează agentul după repornirea hubului”, iar semnalele probabile de presiune sunt numărul de agenți, retenția metricilor, stocarea hubului și accesibilitatea în rețea către fiecare agent pe portul său dedicat.
Controlul schimbărilor este important deoarece versiunile hubului și ale agenților ar trebui testate împreună, întrucât modificările de protocol pot arăta ca goluri silențioase în monitorizare. Păstrează imaginea veche, testează migrările pe o copie a stării și documentează dacă rollback-ul este acceptat după modificarea schemei. Dacă hubul nu poate ajunge la portul 45876 de pe un agent sau cheia SSH s-a schimbat, diagnostichează prima limită care diferă de mediul funcțional.
O sesiune de acceptanță pentru Beszel în producție
Înainte să apară utilizatori reali, creează o fișă de release pentru Beszel. Aceasta trebuie să specifice imaginea fixată la o versiune, portul 8090, originea canonică, căile persistente și responsabilul pentru un agent Beszel pe fiecare mașină monitorizată. Atașează rezultatul așteptat al acestei tranzacții: înregistrează un agent, monitorizează graficele pentru CPU, memorie și disc, declanșează o alertă de prag și reconectează agentul după repornirea hubului.
Folosește fișa după o înlocuire normală și după o restaurare completă. Recuperarea este acceptată numai dacă sistemele, istoricul și alertele reapar, iar fiecare agent restaurat reia trimiterea metricilor curente. Colectează și o scurtă urmă de resurse care să acopere numărul de agenți, retenția metricilor, stocarea hubului și accesibilitatea în rețea către fiecare agent pe portul său dedicat; păstreaz-o alături de release, pentru ca modificările viitoare de capacitate să fie comparate folosind același workload.
Include un failure controlat: refuză temporar identității de test accesul la un agent Beszel de pe fiecare mașină monitorizată. Confirmă că Beszel raportează problema la limita corectă, restabilește condiția validă și rulează din nou tranzacția. Astfel verifici vizibilitatea erorilor, nu doar succesul, și previi ascunderea unui worker, callback sau database connection defect de către o interfață care pare sănătoasă.
Proiectează restaurarea Beszel înainte de lansare
Inventariază fiecare artefact persistent: datele hubului, utilizatorii, sistemele și configurația alertelor. Montează /beszel_data înainte de bootstrap, scrie date de test inofensive și înlocuiește containerul pentru a demonstra că acea cale este într-adevăr persistentă. Include configurația care schimbă modul în care sunt interpretate datele stocate, nu doar directorul cel mai mare.
Configurează retenția, copiază backupurile în afara hostului și rulează o restaurare clean-room. Exercițiul Beszel este finalizat atunci când sistemele, istoricul și alertele reapar, iar fiecare agent restaurat reia trimiterea metricilor curente. Dacă snapshoturile fac parte din plan, folosește recomandările despre PITR și snapshoturi pentru a documenta ce poate recupera fiecare mecanism.
Închide accesul temporar de configurare
Modelează amenințările pentru acțiunea efectuată de Beszel, nu doar pentru formularul de autentificare. În acest caz, greșeala cu cel mai mare risc este publicarea listenerelor agenților pe internet fără controale de rețea. Implementează această limită: păstrează listenerele agenților în rețele private și protejează contul hubului și cheile de înregistrare.
Beszel nu are un secret obligatoriu de bootstrap în această configurație de bază; protejează în schimb contul real de administrator sau autentificarea upstream. Nu rezolva o eroare de permisiuni rulând containerul ca root sau montând hostul în mod larg. Limitele de resurse fac parte și ele din designul de securitate, deoarece numărul de agenți, retenția metricilor, stocarea hubului și accesibilitatea în rețea către fiecare agent pe portul său dedicat pot fi influențate de utilizatori.
Mută lucrările repetabile de infrastructură în Dockup
Pentru Beszel, Dockup este cel mai util la limita dintre o imagine și un serviciu persistent. Păstrează ruta către 8090, TLS, valorile secrete și storage-ul atașate între înlocuirile containerului, indiferent dacă infrastructura de compute aparține Dockup sau serverului tău conectat.
Încheie cu cunoștințele specifice aplicației: expune hubul prin HTTPS și păstrează porturile agenților private; conectează și testează un agent Beszel pe fiecare mașină monitorizată; apoi rulează această verificare: înregistrează un agent, monitorizează graficele pentru CPU, memorie și disc, declanșează o alertă de prag și reconectează agentul după repornirea hubului. Păstrează rezultatul ca deployment check, astfel încât următoarea actualizare a imaginii să fie evaluată prin comportament, nu prin statusul containerului.
Întrebări frecvente
De ce are nevoie Beszel pentru o implementare în producție?
Expune containerul Beszel pe portul 8090 printr-o singură origine HTTPS. Cerința de rețea asociată este existența unui agent Beszel pe fiecare mașină monitorizată. Nu considera Beszel pregătit până când nu poți înregistra un agent, monitoriza graficele pentru CPU, memorie și disc, declanșa o alertă de prag și reconecta agentul după repornirea hubului.
Ce date Beszel trebuie incluse într-un backup?
Persistă /beszel_data și include datele hubului, utilizatorii, sistemele și configurația alertelor în același manifest de recuperare. O restaurare Beszel completă este reușită numai atunci când sistemele, istoricul și alertele reapar, iar fiecare agent restaurat reia trimiterea metricilor curente.
Are Beszel nevoie de HTTPS în spatele unui reverse proxy?
Folosește HTTPS pentru originea publică Beszel și păstrează portul 8090 pe ruta internă. Aplică setarea Beszel corect: expune hubul prin HTTPS și păstrează porturile agenților private. Pentru Beszel, HTTPS protejează credentialele sau conținutul utilizatorilor în tranzit și menține consecvența comportamentului clientului dependent de origine.
Cum ar trebui testat un upgrade Beszel?
Restaurează starea Beszel curentă într-o implementare izolată, aplică versiunea candidat și repetă tranzacția de acceptanță. Acordă o atenție deosebită acestui aspect, deoarece versiunile hubului și ale agenților ar trebui testate împreună, întrucât modificările de protocol pot arăta ca goluri silențioase în monitorizare. Păstrează imaginea Beszel anterioară până când limitele migrării datelor și ale rollback-ului sunt înțelese.
