# SPDX-License-Identifier: AGPL-3.0-only
# Resolve and pin NODE_IMAGE by digest for each deployment record. No dependency install.
ARG NODE_IMAGE=node:22-bookworm-slim
FROM ${NODE_IMAGE}
WORKDIR /app
COPY --chown=1000:1000 . /app
USER 1000:1000
ENV HOST=0.0.0.0 PORT=8080 CP_PUBLIC_DIR=/public
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD node -e "fetch('http://127.0.0.1:8080/healthz').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
CMD ["node","server/main.mjs"]
