FROM node:20-bookworm-slim AS backend-builder WORKDIR /build/backend COPY backend/package*.json ./ RUN npm ci --include=dev COPY backend/ ./ RUN npm run build && ls -la dist/ FROM ghcr.io/project-osrm/osrm-backend:latest AS runtime ENV TZ=UTC RUN apk update && apk add --no-cache \ curl wget ca-certificates supervisor nodejs npm bash RUN adduser -D -u 1000 user ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH RUN mkdir -p /home/user/osrm-data && chown user:user /home/user/osrm-data WORKDIR $HOME/app COPY --chown=user --from=backend-builder /build/backend/dist ./backend/dist COPY --chown=user --from=backend-builder /build/backend/node_modules ./backend/node_modules COPY --chown=user supervisord.conf /etc/supervisord.conf COPY --chown=user start.sh ./start.sh RUN chmod +x ./start.sh USER user EXPOSE 7860 ENV PORT=7860 \ NODE_ENV=production \ OSRM_URL=http://localhost:5001 \ LOG_LEVEL=info CMD ["./start.sh"]