Tovább a tartalomhoz

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.

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.

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 sudo jogosultsá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.

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:

Terminal window
dig +short api.example.com

A 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.

Csatlakozz a VPS-edhez:

Terminal window
ssh root@YOUR-SERVER-IP

Töltsd le a telepítőt. Ezután futtasd rootként:

Terminal window
curl -fsSL https://get.buuck.io/install.sh -o install.sh
sudo bash install.sh

A 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:

  1. Registry felhasználónév (a robot$ előtaggal kezdődik)
  2. Licenckulcs
  3. Buuck verzió (például v0.0.1)
  4. API domain (például api.example.com)
  5. Dashboard domain (például admin.example.com)
  6. Foglalási domain (például book.example.com)
  7. Napló domain (például logs.example.com)
  8. E-mail cím a TLS-tanúsítvány értesítésekhez
  9. E-mail szolgáltató (általában smtp)
  10. Feladó cím a foglalási e-mailekhez
  11. 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:

  1. Telepíti a Docker Engine-t és a Docker Compose-t, ha hiányoznak.
  2. Megnyithatja a 22-es, 80-as és 443-as portokat az ufw-vel, ha igent mondasz.
  3. Ellenőrzi a DNS-rekordjaidat.
  4. Létrehozza a /opt/buuck mappát a compose.yaml, Caddyfile, .env és dozzle-users.yml fájlokkal.
  5. Generálja az adatbázis-jelszavakat, a gyorsítótár jelszavát, az auth titkos kulcsot és a naplónézegető jelszavát.
  6. Bejelentkezik a Buuck registrybe.
  7. Letölti az image-eket és elindítja a Buuckot.
  8. 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.

Nézd meg a szolgáltatások állapotát:

Terminal window
cd /opt/buuck
docker compose ps

A 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:

Terminal window
curl -i https://api.example.com

Az 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.com a dashboard bejelentkezési oldalát mutatja.
  • A https://book.example.com a foglalási oldalt mutatja.
  • A https://logs.example.com a naplónézegetőt mutatja. Jelentkezz be admin néven. A jelszó a DOZZLE_PASSWORD a /opt/buuck/.env fá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.

  1. Nyisd meg a https://admin.example.com címet a böngészőben.
  2. Válaszd a Sign up lehetőséget.
  3. Add meg a neved, az e-mail címed és egy jelszót.
  4. Válaszd a New organization lehetőséget.
  5. 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.

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:

Terminal window
cd /opt/buuck
docker compose exec -T postgres sh -c 'pg_dump -U "$POSTGRES_USER" "$POSTGRES_DB"' > buuck-$(date +%F).sql

Ké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:

Terminal window
docker compose exec -T postgres sh -c 'psql -U "$POSTGRES_USER" -d "$POSTGRES_DB"' < buuck-2026-01-31.sql

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.

Terminal window
curl -fsSL https://get.buuck.io/update.sh -o update.sh
sudo bash update.sh

A 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:

Terminal window
sudo bash update.sh --version v0.0.1 --services dashboard,booking

Állítsd le az összes szolgáltatást:

Terminal window
cd /opt/buuck
docker compose stop

Indítsd el újra az összes szolgáltatást:

Terminal window
docker compose start

A konténerek eltávolításához használd ezt a parancsot:

Terminal window
cd /opt/buuck
docker compose down
Terminal window
docker compose down --volumes

Olvasd el egy szolgáltatás üzeneteit. Cseréld le a server nevet a szolgáltatás nevére:

Terminal window
cd /opt/buuck
docker 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.