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 Buucknak két saját szerveren futtatható kiadása van. A vásárlási e-mailed megmondja, melyik kiadást vetted meg. Csak az abban az e-mailben kapott registry-adatokat használd. Az adatok csak egy kiadáshoz érvényesek.

Buuck Start Buuck Pro
Registry projekt buuck buuck-pro
Server image registry.buuck.io/buuck/server registry.buuck.io/buuck-pro/server
Dashboard image registry.buuck.io/buuck/dashboard registry.buuck.io/buuck-pro/dashboard
Booking image Ugyanaz az image, mindkét projektben (booking) Ugyanaz az image, mindkét projektben (booking)
Migrate image registry.buuck.io/buuck/db-migrate registry.buuck.io/buuck-pro/db-migrate
Márkajelzés Diszkrét „Powered by Buuck” a foglalási e-mailekben Nincs Buuck márkajelzés. White-label e-mailek és felület
Márkajelzés beállítása Rögzített Buuck jel Egyedi márkajelzés (logó és megjelenés)

A Pro Managed a Pro termék, hostinggal és támogatással tőlünk. A Pro Managedet ezzel az oldallal nem telepíted.

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.

A server, a dashboard és a db-migrate image-ek kiadásonként különböznek. A Start build és a Pro build külön image. A Pro migrate image extra táblákat hoz létre, amelyek a Start kiadásban nincsenek. A telepítő a registry-adataidhoz tartozó kiadás image-eit tölti le.

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 kiadásod (Start vagy Pro). A vásárlási e-mail megnevezi a kiadást.
  • 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. Kiadás (start vagy pro)
  4. Buuck verzió (például v0.0.1)
  5. API domain (például api.example.com)
  6. Dashboard domain (például admin.example.com)
  7. Foglalási domain (például book.example.com)
  8. Napló domain (például logs.example.com)
  9. E-mail cím a TLS-tanúsítvány értesítésekhez
  10. E-mail szolgáltató (általában smtp)
  11. Feladó cím a foglalási e-mailekhez
  12. SMTP hoszt, port, felhasználó, jelszó és secure beállítás

A registry felhasználónevet és a licenckulcsot ugyanabból a vásárlási e-mailből add meg. Ezek az adatok már a kiadásodhoz tartoznak (Start → buuck projekt, Pro → buuck-pro projekt).

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, a beállítási tokent és a naplónézegető jelszavát.
  6. Bejelentkezik a Buuck registrybe.
  7. Letölti a kiadásod image-eit és elindítja a Buuckot.
  8. Megvárja, amíg az API válaszol HTTPS-en.
  9. Kiírja a beállítási linket az első fiókhoz.

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.

Start kiadáson a foglalási e-mailek végén egy kis „Powered by Buuck” sor van. Pro kiadáson ez a sor nincs jelen.

A telepítő a végén kiír egy beállítási linket. A link így néz ki:

https://admin.example.com/setup?token=YOUR-SETUP-TOKEN
  1. Nyisd meg a beállítási linket a böngészőben.
  2. Add meg a neved, az e-mail címed és egy jelszót.
  3. Add meg a vállalkozásod nevét és egy rövid nevet a címhez.
  4. Válaszd a Complete setup lehetőséget.

A dashboard megnyílik. A fiókod a példány tulajdonosa. 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.

Az új fiókokhoz meghívó kell. Nyisd meg az Instance settings oldalt a dashboardon, és hívd meg a munkatársaidat. Egy meghívó egy e-mail címhez tartozik, és egyszer használható.

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 a kiadásod összes későbbi verziójá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 a kiadásod új image-eit, 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, vagy az adatok nem egyeznek a kiadásoddal. A Start adatok a buuck projektből töltenek. A Pro adatok a buuck-pro projektből töltenek. Futtasd újra a telepítőt a vásárlási e-mailed értékeivel. 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, vagy az image útvonala nem egyezik a kiadásoddal. Hasonlítsd össze az értéket és a projektet 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.
A Start telepítésen nincs „Powered by Buuck” sor, vagy a Pro telepítésen még mindig megjelenik. Lehet, hogy rossz kiadást töltöttél le. Ellenőrizd az image neveket a docker compose ps és a /opt/buuck/compose.yaml fájlban. A Start a buuck projektet használja. A Pro a buuck-pro projektet.
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.