ARG BASE_IMAGE=mirror.gcr.io/library/node:20-alpine
FROM ${BASE_IMAGE}

WORKDIR /app

COPY package.json package-lock.json ./
RUN npm ci

COPY . .

ARG DATABASE_URL="postgresql://postgres:postgres@localhost:5432/metube?schema=public"
RUN DATABASE_URL="$DATABASE_URL" SESSION_SECRET="metube-build-session-secret-change-me-12345" npm run build

ENV NODE_ENV=production
ENV PORT=3000
ENV HOSTNAME=0.0.0.0

EXPOSE 3000

CMD ["npm", "run", "start"]
