Buuck telepítése VPS-re
A Buuck a saját szervereden fut. Ez az oldal leírja, hogyan telepítsd a Buuckot egy VPS-re a telepítővel.
Kövesd a lépéseket a megadott sorrendben. A telepítés körülbelül 15 percet vesz igénybe, miután a DNS-rekordjaid készen állnak.
Mit telepítesz
Szekció neve “Mit telepítesz”A Buuck három alkalmazásból és öt kiegészítő szolgáltatásból áll. A Docker Compose ezeket együtt indítja el.
| Szolgáltatás | Funkció | Port |
|---|---|---|
booking |
A nyilvános oldal. Az ügyfeleid itt foglalnak. | 3002 |
dashboard |
A privát oldal. A munkatársaid itt kezelik a foglalásokat. | 3001 |
server |
Az API. A két alkalmazás innen kapja az adatokat. | 3000 |
db-migrate |
Egyszeri beállítás. Létrehozza az adatbázis-felhasználókat és az adatbázis-táblákat. | — |
postgres |
Az adatbázis. Az összes adatot az adatbázis tárolja. | 5432 |
cache |
A gyorsítótár. A gyorsítótár gyorsabbá teszi az API-t. | 6379 |
caddy |
A reverse proxy. Emellett a TLS-tanúsítványokat is beszerzi. | 80, 443 |
dozzle |
A naplózó. Itt olvashatod a többi szolgáltatás üzeneteit. | 8080 |
Csak a reverse proxy érhető el az internetről. A többi szolgáltatás privát Docker-hálózaton fut.
Mielőtt elkezded
Szekció neve “Mielőtt elkezded”Ezekre lesz szükséged:
- Egy VPS 2 CPU-maggal, 4 GB RAM-mal és 20 GB szabad lemezterülettel.
- 64 bites x86 processzor. A Buuck image-ek nem futnak ARM processzoron.
- Linux operációs rendszer. A Buuckot Ubuntu 24.04-en teszteljük.
- Root hozzáférés a VPS-hez, vagy
sudojogosultságú felhasználói fiók. - Egy domainnév. Tudnod kell DNS-rekordokat hozzáadni a zónájához.
- A registry felhasználóneved és a licenckulcsod. Ezeket e-mailben küldjük el.
- A Buuck kiadásod verziószáma. Ugyanaz az e-mail tartalmazza ezt a számot.
- Egy SMTP-fiók. A Buuck ezzel a fiókkal küldi a foglalási e-maileket.
Ez az oldal az example.com domainnevet használja. Cseréld le az example.com-ot a saját domainnevedre.
1. lépés: DNS-rekordok hozzáadása
Szekció neve “1. lépés: DNS-rekordok hozzáadása”A Buuck négy aldomaint használ. Adj hozzá egy DNS A rekordot minden aldomainhez. Minden rekord a VPS-ed IP-címére mutasson.
| Rekord | Példa | Szolgáltatás |
|---|---|---|
api |
api.example.com |
a szerver |
admin |
admin.example.com |
a dashboard |
book |
book.example.com |
a foglalási oldal |
logs |
logs.example.com |
a naplózó |
Ha a DNS-szolgáltatódnak van proxy funkciója, kapcsold ki a proxyt. A VPS-eden futó reverse proxynak közvetlenül kell megkapnia a kéréseket.
Ellenőrizz egy rekordot, mielőtt továbblépsz:
dig +short api.example.comA parancs a VPS-ed IP-címét mutatja. Ha a parancs nem ad vissza címet, várj 10 percet. Ezután ellenőrizd újra.
2. lépés: A telepítő futtatása
Szekció neve “2. lépés: A telepítő futtatása”Csatlakozz a VPS-edhez:
ssh root@YOUR-SERVER-IPTöltsd le a telepítőt. Ezután futtasd rootként:
curl -fsSL https://get.buuck.io/install.sh -o install.shsudo bash install.shA telepítő ezeket az értékeket kéri a vásárlási e-mailedből és a saját beállításaidból:
- Registry felhasználónév (a
robot$előtaggal kezdődik) - Licenckulcs
- Buuck verzió (például
v0.0.1) - API domain (például
api.example.com) - Dashboard domain (például
admin.example.com) - Foglalási domain (például
book.example.com) - Napló domain (például
logs.example.com) - E-mail cím a TLS-tanúsítvány értesítésekhez
- E-mail szolgáltató (általában
smtp) - Feladó cím a foglalási e-mailekhez
- SMTP hoszt, port, felhasználó, jelszó és secure beállítás
Ezután a telepítő egy összefoglalót mutat. Írd be az y betűt a folytatáshoz.
A telepítő ezután elvégzi helyetted a következőket:
- Telepíti a Docker Engine-t és a Docker Compose-t, ha hiányoznak.
- Megnyithatja a 22-es, 80-as és 443-as portokat az
ufw-vel, ha igent mondasz. - Ellenőrzi a DNS-rekordjaidat.
- Létrehozza a
/opt/buuckmappát acompose.yaml,Caddyfile,.envésdozzle-users.ymlfájlokkal. - Generálja az adatbázis-jelszavakat, a gyorsítótár jelszavát, az auth titkos kulcsot és a naplónézegető jelszavát.
- Bejelentkezik a Buuck registrybe.
- Letölti az image-eket és elindítja a Buuckot.
- Megvárja, amíg az API válaszol HTTPS-en.
Az első indítás körülbelül 2–3 percet vesz igénybe. A reverse proxy ebben az időben a TLS-tanúsítványokat is beszerzi.
3. lépés: A telepítés ellenőrzése
Szekció neve “3. lépés: A telepítés ellenőrzése”Nézd meg a szolgáltatások állapotát:
cd /opt/buuckdocker compose psA db-migrate szolgáltatás az exited (0) állapotot mutatja. Ez az állapot helyes. A szolgáltatás csak egyszer fut le. Az összes többi szolgáltatás a running vagy healthy állapotot mutatja.
Küldj egy kérést az API-nak:
curl -i https://api.example.comAz API 200 OK választ ad, és a szöveg OK.
Ezután nyisd meg ezt a három címet a böngészőben:
- A
https://admin.example.coma dashboard bejelentkezési oldalát mutatja. - A
https://book.example.coma foglalási oldalt mutatja. - A
https://logs.example.coma naplónézegetőt mutatja. Jelentkezz beadminnéven. A jelszó aDOZZLE_PASSWORDa/opt/buuck/.envfájlban.
A böngészőnek érvényes tanúsítványt kell mutatnia minden címhez. Ha egy oldal nem nyílik meg, olvasd el a Problémák szakaszt.
4. lépés: Első fiók létrehozása
Szekció neve “4. lépés: Első fiók létrehozása”- Nyisd meg a
https://admin.example.comcímet a böngészőben. - Válaszd a Sign up lehetőséget.
- Add meg a neved, az e-mail címed és egy jelszót.
- Válaszd a New organization lehetőséget.
- Add meg a vállalkozásod nevét és egy rövid nevet a címhez.
A dashboard megnyílik. Mostantól hozzáadhatod a helyszíneidet, az erőforrásaidat és a szolgáltatásaidat.
Az ügyfeleid a https://book.example.com/YOUR-SHORT-NAME címen foglalnak.
Készíts másolatot a /opt/buuck/.env fájlról egy másik gépen. A fájl a titkaidat tartalmazza.
Mentés készítése
Szekció neve “Mentés készítése”A Buuck az összes adatodat az adatbázisban tárolja. Készíts naponta mentést az adatbázisról.
Írd a mentést egy fájlba:
cd /opt/buuckdocker compose exec -T postgres sh -c 'pg_dump -U "$POSTGRES_USER" "$POSTGRES_DB"' > buuck-$(date +%F).sqlKészíts másolatot a .env fájlról is. Tartsd mindkét fájlt egy másik gépen.
Ha vissza szeretnél tölteni egy mentést az adatbázisba, használd ezt a parancsot:
docker compose exec -T postgres sh -c 'psql -U "$POSTGRES_USER" -d "$POSTGRES_DB"' < buuck-2026-01-31.sqlFrissítés telepítése
Szekció neve “Frissítés telepítése”A licenced tartalmazza az összes későbbi verziót. Minden új verzióról e-mailt küldünk.
Töltsd le a frissítő scriptet. Ezután futtasd. Ne pipeld a scriptet a bash parancsba.
curl -fsSL https://get.buuck.io/update.sh -o update.shsudo bash update.shA script megkérdezi az új verziót (például v0.0.1) és hogy mely szolgáltatásokat frissítse. Módosítja a BUUCK_VERSION értékét a /opt/buuck/.env fájlban, letölti az új image-eket, szükség esetén futtatja az adatbázis-migrációkat, és csak a kiválasztott szolgáltatásokat hozza létre újra. Az adatbázis megőrzi az adataidat.
A frissítő script nem ad hozzá új szolgáltatásokat. Ha a legutóbbi telepítésben vannak hiányzó szolgáltatások, futtasd újra a telepítőt. A telepítő felülírja a compose.yaml fájlt és a Caddyfile-t. Megőrzi az adatbázis-titkokat. Létrehoz hiányzó jelszavakat és kulcsokat.
Ha csak egyes szolgáltatásokat szeretnél frissíteni:
sudo bash update.sh --version v0.0.1 --services dashboard,bookingBuuck leállítása és indítása
Szekció neve “Buuck leállítása és indítása”Állítsd le az összes szolgáltatást:
cd /opt/buuckdocker compose stopIndítsd el újra az összes szolgáltatást:
docker compose startBuuck eltávolítása
Szekció neve “Buuck eltávolítása”A konténerek eltávolításához használd ezt a parancsot:
cd /opt/buuckdocker compose downdocker compose down --volumesProblémák
Szekció neve “Problémák”Olvasd el egy szolgáltatás üzeneteit. Cseréld le a server nevet a szolgáltatás nevére:
cd /opt/buuckdocker compose logs -f server| Probléma | Ok és javítás |
|---|---|
A telepítő BASH_SOURCE[0]: unbound variable vagy Bad substitution üzenettel leáll. |
A scriptet bash vagy sh parancsba pipelted. Először töltsd le az install.sh fájlt. Ezután futtasd a sudo bash install.sh parancsot. |
A Docker unauthorized vagy denied üzenetet mutat pull közben. |
A registry felhasználónév vagy a licenckulcs nem helyes. Futtasd újra a telepítőt, és ellenőrizd mindkét értéket. Tedd a registry felhasználónevet szimpla idézőjelek közé, ha shell parancsban írod be. |
A Docker manifest unknown üzenetet mutat pull közben. |
A BUUCK_VERSION értéke nem helyes. Hasonlítsd össze az értéket az e-maileddel. |
A Docker exec format error üzenetet mutat egy szolgáltatásnál. |
A VPS processzora nem 64 bites x86. Használj másik VPS-t. |
| A böngésző tanúsítványhibát mutat. | A DNS-rekordok nem helyesek, vagy aktív a proxy. Ellenőrizd azt is, hogy a 80-as port nyitva van-e. |
A db-migrate szolgáltatás exited (1) állapotot mutat. |
Olvasd el a szolgáltatás üzeneteit. Ezután indítsd újra a docker compose up -d db-migrate paranccsal. |
| A dashboard kapcsolódási hibát mutat. | Az API_DOMAIN vagy a DASHBOARD_DOMAIN értéke a /opt/buuck/.env fájlban nem helyes. Javítsd az értéket. Ezután futtasd a docker compose up -d --force-recreate parancsot. |
| Az e-mailek nem érkeznek meg. | Az SMTP értékek nem helyesek. Olvasd el a server szolgáltatás üzeneteit. |
| Egy szolgáltatás újra és újra elindul. | A /opt/buuck/.env fájlban van üres érték. Futtasd újra a telepítőt, vagy hasonlítsd össze a fájlt egy működő telepítéssel. |
| A naplónézegető oldala üres marad, vagy az üzenetek nem frissülnek. | A reverse proxy puffereli az élő adatfolyamot. A Caddyfile-ban a napló domainhez flush_interval -1 kell. Ezután futtasd a docker compose up -d --force-recreate caddy parancsot. |
| A naplónézegető bejelentkezési hibát mutat. | A jelszó a DOZZLE_PASSWORD a /opt/buuck/.env fájlban. A felhasználónév admin. |
| A naplónézegető nem listáz egy Buuck szolgáltatást. | A nézegető csak a buuck nevű Compose-projekt konténereit mutatja. Ellenőrizd a docker compose ps parancsot a /opt/buuck mappában. |
Ha a probléma továbbra is fennáll, válaszolj arra az e-mailre, amit a Buuck megvásárlása után küldtünk. Csatold a válaszodhoz a szolgáltatások üzeneteit.