FROM node:24-alpine
WORKDIR /app/services/ursy-api
COPY services/ursy-api/package*.json ./
RUN npm ci --omit=dev --ignore-scripts && npm cache clean --force
COPY packages /app/packages
COPY services/ursy-api/src ./src
ENV HOST=0.0.0.0 PORT=8787 NODE_ENV=production
USER node
EXPOSE 8787
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s CMD node -e "fetch('http://localhost:8787/v1/status').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
CMD ["node", "src/server.mjs"]
