FROM node:24-alpine

WORKDIR /app
ARG PANOON_SERVER_VERSION=0.2.9
ARG PANOON_SERVER_BUILD_ID=dev
LABEL org.opencontainers.image.title="panoon-service"
LABEL org.opencontainers.image.version="${PANOON_SERVER_VERSION}"
LABEL org.opencontainers.image.revision="${PANOON_SERVER_BUILD_ID}"
ENV NODE_ENV=production
ENV NODE_USE_ENV_PROXY=1
ENV PANOON_SERVER_BUILD_ID=${PANOON_SERVER_BUILD_ID}
COPY package.json server.js area-coverage-qa.js area-gap-classifier.js area-polygon-tiler.js area-tile-checkpoint-store.js area-tile-result-merger.js area-probe-feedback.js area-probe-scheduler.js area-probe-scheduler-policy.js ./
EXPOSE 8787
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 CMD ["node", "-e", "fetch('http://127.0.0.1:8787/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
CMD ["node", "--use-env-proxy", "server.js"]
