# Build context: ossy/packages/platform directory.
# From repo root: docker build -f ossy/packages/platform/Dockerfile ossy/packages/platform
# In CI, this image is built and pushed to ghcr.io/ossy-se/runtime:latest by the Publish workflow.
FROM node:24-bookworm-slim

WORKDIR /app

COPY package.json ./

# Install production deps only.
# @ossy/router and @ossy/sdk must be resolvable — in production these are
# published npm packages; in monorepo CI use npm pack + install.
RUN npm install --omit=dev --no-audit --no-fund --loglevel=error

COPY src ./src

EXPOSE 3000

# Required env vars at runtime:
#   OSSY_API_KEY   — Ossy API JWT for CMS reads
#   OSSY_API_URL   — (optional) override API base, default https://api.ossy.se/api/v0
#   PORT           — (optional) override listen port, default 3000
CMD ["node", "src/runtime.js"]
