FROM node:22-bookworm-slim

WORKDIR /app

COPY --chown=node:node package.json ./
RUN npm install --omit=dev \
    && (npm audit fix --omit=dev || true) \
    && npm audit --omit=dev --audit-level=moderate \
    && chown -R node:node /app

COPY --chown=node:node .env.example ./
COPY --chown=node:node README.md ./
COPY --chown=node:node OPEN-SOURCE-NOTES.md ./
COPY --chown=node:node ecosystem.config.js ./
COPY --chown=node:node Caddyfile.example ./
COPY --chown=node:node docker-compose.yml ./
COPY --chown=node:node bin ./bin
COPY --chown=node:node config ./config
COPY --chown=node:node config/server.config.example.json ./server.config.json
COPY --chown=node:node dist ./dist
RUN touch /app/.fister-community-server-package \
    && chown node:node /app/.fister-community-server-package

USER node

ENV FISTER_CONTAINERIZED=true NODE_ENV=production

EXPOSE 5173

CMD ["npm", "start"]
