KROK 01Ověř vstupní soubor
Příklad je pro JavaScript Node aplikaci se server.js a package-lock.json. TypeScript nebo framework potřebuje vlastní build krok. Ověř podporu Node 24 LTS a že produkční závislosti nejsou omylem pouze v devDependencies.
KROK 02Poslouchej na správném rozhraní
Uvnitř kontejneru použij 0.0.0.0 a port čti z prostředí. Přímo na hostu s lokální proxy naopak použij 127.0.0.1. Neotevírej surový aplikační port internetu jen kvůli chybě proxy.
const port = Number(process.env.PORT || 3000);
app.listen(port, "0.0.0.0");KROK 03Spouštěj runtime bez roota
Vytvoř Dockerfile a v .dockerignore vyřaď tajné soubory z buildu. Uživatel node spouští aplikaci s menšími oprávněními. Ukázka předpokládá, že aplikace nemusí zapisovat do svého kódového adresáře.
FROM node:24-bookworm-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY --chown=node:node . .
USER node
EXPOSE 3000
CMD ["node", "server.js"]KROK 04Přidej restarty a HTTPS
Použij Compose recept s restart: unless-stopped a Caddy. V aplikaci obsluž SIGTERM pro čisté ukončení spojení. Uploady ulož trvale zvlášť a loguj do stdout/stderr. Restart policy nevyřeší chybějící proměnnou; podívej se do logů.
docker compose logs --tail=100 app
docker compose psCOPY → YOUR AI
Vezmi si další krok do svého chatu.
Bezpečný kontext k tomuto návodu. Žádné tajné údaje. Funguje pro ChatGPT, Claude i další asistenty.
Zdroje a technická dokumentace
Node.js releases ↗Docker documentation ↗Postup je vzor pro uvedené předpoklady. Před použitím na živém serveru ověř kompatibilitu svého projektu a konkrétní konfiguraci.