diff --git a/Dockerfile b/Dockerfile index 8c8f009..99ced5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -FROM node:24.0.0 AS build - +FROM node:24-slim AS build WORKDIR /tmp/buildApp COPY ./package*.json ./ @@ -8,24 +7,27 @@ RUN npm install COPY . . RUN npm run build -FROM node:24.0.0-alpine3.21 AS production - -RUN apk add --no-cache dumb-init python3 make g++ - +# Production stage with GDAL setup +FROM node:24-slim AS production +RUN apt-get update && apt-get install -y --no-install-recommends \ + dumb-init \ + gdal-bin \ + && rm -rf /var/lib/apt/lists/* ENV NODE_ENV=production ENV SERVER_PORT=8080 - WORKDIR /usr/src/app COPY --chown=node:node package*.json ./ + + RUN npm ci --only=production COPY --chown=node:node --from=build /tmp/buildApp/dist . COPY --chown=node:node ./config ./config - USER node EXPOSE 8080 -CMD ["dumb-init", "node", "--require", "./common/tracing.js", "./index.js"] + +CMD ["dumb-init", "node", "--require", "./common/tracing.js", "./index.js"]