Files
busyfeed/Dockerfile
Lucas Orth 45d881f9a9 busyfeed: Initial commit mit Tag-Deployment
Bestehende App plus Gitea-Actions-Pipeline: Tag v* loest Build, Tests
und Container-Neustart auf dem VPS aus.

- .gitea/workflows/deploy.yml: npm ci/build/test als Gate, danach
  docker compose up -d --build. Die .env wird aus dem Repo-Secret DOTENV
  erzeugt, damit auf dem Host keine Secret-Datei gepflegt werden muss.
- docker-compose.yml: fester Projektname (der CI-Job hat ein anderes
  Arbeitsverzeichnis als der Host), Image mit Versionstag fuer Rollback,
  fester Volume-Name.
- README: Deployment- und Rollback-Abschnitt, Token-Rotation angepasst.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 19:56:54 +02:00

18 lines
420 B
Docker

FROM node:24-alpine AS build
WORKDIR /app
COPY package.json package-lock.json tsconfig.json ./
RUN npm ci
COPY src ./src
RUN npm run build
FROM node:24-alpine
WORKDIR /app
ENV NODE_ENV=production
COPY package.json package-lock.json ./
RUN npm ci --omit=dev && npm cache clean --force
COPY --from=build /app/dist ./dist
RUN mkdir -p /data && chown -R node:node /data
USER node
EXPOSE 8080
CMD ["node", "dist/server.js"]