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>
32 lines
1,001 B
Docker
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"]
|