FROM node:20-alpine AS runner

ENV NODE_ENV=production
ENV PORT=18103
ENV MAP_CACHE_DIR=/var/lib/nodedc-map-cache

WORKDIR /app

RUN apk add --no-cache su-exec

COPY package.json ./
COPY src ./src
COPY docker-entrypoint.sh /usr/local/bin/nodedc-map-gateway

RUN chmod +x /usr/local/bin/nodedc-map-gateway

EXPOSE 18103

ENTRYPOINT ["/usr/local/bin/nodedc-map-gateway"]
CMD ["node", "src/server.mjs"]
