Full-stack web application for C2PA content credentials management. - Backend: Fastify + TypeScript + Drizzle ORM + @contentauth/c2pa-node - Frontend: React 19 + Vite + Tailwind CSS 4 + Montserrat/Gold theme - Auth: JWT with 3 roles (viewer, stamper, admin) - C2PA: Sign files with X.509 certs, verify manifests, custom OMG metadata - Admin: Manage users, platforms (OMG, Pencil), 29 AI models - Docker: PostgreSQL 16, Node.js 22 backend, nginx frontend - Ports: Frontend 3050, Backend 8050, PostgreSQL 5470 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
23 lines
560 B
Docker
23 lines
560 B
Docker
FROM node:22-slim AS builder
|
|
WORKDIR /app
|
|
COPY package.json ./
|
|
RUN npm install
|
|
COPY . .
|
|
RUN npx tsc
|
|
|
|
FROM node:22-slim
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates openssl \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /app/dist ./dist
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY --from=builder /app/package.json ./
|
|
COPY --from=builder /app/src/db/migrations ./src/db/migrations
|
|
|
|
RUN mkdir -p /app/storage/originals /app/storage/signed
|
|
|
|
EXPOSE 8050
|
|
CMD ["node", "dist/index.js"]
|