Files
2026-10-02 14:49:22 -05:00

30 lines
931 B
Docker

FROM node:22-bookworm-slim
ARG APP_VERSION=1.0.0
ENV NODE_ENV=production \
HOST=0.0.0.0 \
PORT=4181 \
CHROMIUM_EXECUTABLE=/usr/bin/chromium \
PROPOSAL_BOT_VERSION=${APP_VERSION}
RUN apt-get update \
&& apt-get install -y --no-install-recommends chromium fonts-dejavu-core fonts-liberation ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --chown=node:node server.js shared-drafts.js app.js index.html styles.css indesign-template.js version.json ./
COPY --chown=node:node ["MA Logo.jpg", "./MA Logo.jpg"]
COPY --chown=node:node assets ./assets
RUN mkdir -p "/app/Project Images" "/app/data" && chown -R node:node /app
USER node
EXPOSE 4181
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
CMD node -e "fetch('http://127.0.0.1:4181/api/health').then((response) => process.exit(response.ok ? 0 : 1)).catch(() => process.exit(1))"
CMD ["node", "server.js"]