2026-06-10 16:08:05 +05:30
|
|
|
# BizGaze Support — server image
|
2026-08-12 08:20:26 +05:30
|
|
|
# Data store is PostgreSQL (DB_BACKEND=pg; the `pg` client is a prod dependency installed below). SQLite was
|
|
|
|
|
# retired 2026-08-12 — one schema source of truth (db/schema.pg.sql), no dual-maintenance drift.
|
2026-06-10 16:08:05 +05:30
|
|
|
FROM node:24-alpine
|
|
|
|
|
|
2026-07-22 22:09:32 +05:30
|
|
|
# ffmpeg: server-side video poster thumbnails (see static.js /thumbs/<id>). Small on Alpine.
|
|
|
|
|
RUN apk add --no-cache ffmpeg
|
|
|
|
|
|
2026-06-10 16:08:05 +05:30
|
|
|
ENV NODE_ENV=production
|
|
|
|
|
WORKDIR /app/server
|
|
|
|
|
|
|
|
|
|
# Install deps first for layer caching (only `ws`, plus optional nodemailer)
|
|
|
|
|
COPY server/package*.json ./
|
|
|
|
|
RUN npm install --omit=dev --no-audit --no-fund
|
|
|
|
|
|
|
|
|
|
# App source
|
|
|
|
|
COPY server/ ./
|
|
|
|
|
|
2026-08-12 08:20:26 +05:30
|
|
|
# Served HTTP port (NPM terminates TLS and proxies here). The DB is Postgres (DATABASE_URL, set via .env);
|
|
|
|
|
# the /data volume holds uploads / recordings / transcripts / downloads (see docker-compose.yml).
|
2026-06-10 16:08:05 +05:30
|
|
|
ENV PORT=8090
|
|
|
|
|
EXPOSE 8090
|
|
|
|
|
|
|
|
|
|
CMD ["node", "server.js"]
|