[[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ő)