pageta/apps/api/Dockerfile
Till JS c10b493ac1 feat: Quellen-Hub — Blog-Artikel als Quelle erkennen und bündeln
Source-Aggregate + /quelle/[slug], Feed-Import verknüpft Artikel,
Lese-Liste mit Quellen-Chips/?quelle=. shared-schemas 0.1.23 als
Vendor-Tarball (Verdaccio-Publish blockiert); sync2-Schema live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:29:25 +02:00

32 lines
1,001 B
Docker

# Pageta-API: Hono + Bun.
# Build-Context = Repo-Root (infrastructure/docker-compose.production.yml).
FROM oven/bun:1.1-alpine
# Build-Arg für Verdaccio-Token (`@mana/*`-Pakete aus npm.mana.how).
# In Compose über `NPM_AUTH_TOKEN: ${NPM_AUTH_TOKEN}` reingereicht.
# Endet als ${NPM_AUTH_TOKEN}-env zur pnpm-install-Zeit, .npmrc
# expandiert auf der echten Variable.
ARG NPM_AUTH_TOKEN=""
ENV NPM_AUTH_TOKEN=$NPM_AUTH_TOKEN
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json tsconfig.base.json .npmrc ./
COPY apps/api/package.json apps/api/
COPY packages/pageta-domain/package.json packages/pageta-domain/
COPY vendor/mana-shared-schemas-0.1.23.tgz vendor/
RUN apk add --no-cache nodejs npm bash \
&& npm install -g pnpm@9.15.9 \
&& pnpm install --frozen-lockfile --prod=false
COPY packages/pageta-domain packages/pageta-domain
COPY apps/api apps/api
COPY app-manifest.json ./app-manifest.json
WORKDIR /app/apps/api
EXPOSE 3099
CMD ["bun", "run", "src/index.ts"]