[[oktatas:web:deploy|< Deploy]]
====== Koyeb ======
* **Szerző:** Sallai András
* Copyright (c) 2025, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Bevezetés =====
A Koyeb egy felhőszolgáltatás, ahol lehetőség van REST API szerverek szolgáltatására.
Cím:
* https://koyeb.com
Egyetlen szolgáltatás ingyenesen használható. Használható Python, Node.js, Java, PHP szerverek kiszolgálására.
A Koyeb a GitHub szerverről tölti le a telepíteni kívánt projektet. A konfigurációs és más .gitignore fájl által kizárt fájlok a Builderpack nevű eszközzel telepíthetők.
Lehetőség van a CLI használatára is. Ha telepítjük kapunk egy **koyeb** nevű parancsot. Használata nem kötelező.
Dokumentáció és használható nyelvek:
* https://www.koyeb.com/docs (2025)
===== Kezdés =====
Belépés után találunk egy [Create Service] nevű gombot, amivel létrehozható új szolgáltatás.
Az új szolgáltatás felületén 4 lehetőség van:
* [Overview] [Metrics] [Console] [Settings]
===== Node.js indítása =====
* Settings > Configure builder > Run command:
npm start
===== Build =====
Beállíthatunk build parancsot is a Buildpack felületén.
Például futtathatjuk az npm run build parancsot.
===== Konfigurációs és egyéb fájlok =====
* Edit variables and files > Files
Meg kell adni a fájl útvonalát is a szerveren. Tegyük fel, hogy van egy .env állományunk a
a projekt gyökérkönyvtárában. A szerveren ennek elérési útja:
/workspace/.env
Ha a projektünk beállításai egy config/default.json fájlban vannak, akkor a fájl útvonala:
/workspace/config/default.json
A gyökérkönyvtárban elhelyezett datbase.json fájl a szerveren:
/workspace/database.json
A változtatásokat mindig a [Save and deploy] gombbal kell nyugtázni.
===== A package.json fájl =====
A package.json fájlban állítsuk be a index.js kiinduló fájl helyét. Például:
{
"main": "app/index.js"
}
Ez szükséges a megfelelő működéshez.
Ha adott Node.js verziót szeretnénk használni:
"engines": {
"node" ">=18.x"
}
===== Port =====
A port beállítás maradhat például 8000, a Keyob átirányítja a 80-s portra.
Egy példa, hogyan érhetjük el az employees végpontot:
* https://egy-ketto-valami-01234568.koyeb.app/api/employees
===== Szüneteltetés =====
Ha szeretnénk szüneteltetni a szolgáltatás, majd újraindítani, az adataink elveszhetnek.
Sqlite esetén biztosan üres adatbázist kapunk.
(MySQL adatbázissal még tesztelendő)