Přeskočit na hlavní obsah

Runtime a interní port

Dynamická aplikace musí spustit jeden foreground proces, který naslouchá na 0.0.0.0 a na portu odpovídajícím runtimePort v Noyra Cloud.

Povinný kontrakt

  • produkční start je neinteraktivní;
  • listener není omezený na localhost;
  • aplikace respektuje PORT, pokud to framework podporuje, s rozumnou výchozí hodnotou;
  • logy míří na stdout/stderr a neobsahují tajné údaje;
  • stav v paměti může být při restartu ztracen;
  • trvalá data používají databázi nebo připojené úložiště;
  • framework při ukončení korektně zpracuje signál, pokud tuto možnost má.

Příklad Node serveru:

const port = Number(process.env.PORT ?? 3000);

server.listen(port, '0.0.0.0', () => {
console.log(`Server naslouchá na portu ${port}`);
});

runtimePort je interní port kontejneru, nikoli veřejný host port. Veřejné směrování a HTTPS zajišťuje Noyra Cloud.

Startovací chyba po úspěšném buildu

Úspěšný build nedokazuje, že aplikace běží. Při startup chybě ověřte start příkaz, host binding, port, runtime proměnné, migrace a předpoklady o zapisovatelném filesystemu.