Something went wrong. Try again.
An easy to set up and operate PDS admin panel.
Something went wrong. Try again.
pds-operator Dockerfile
1.1 kB · 31 lines
Dockerfile
at main
1234567891011121314151617181920212223242526272829303132FROM node:22-slim AS webWORKDIR /app/webCOPY web/package*.json ./RUN npm ciCOPY web/ ./RUN npm run build
FROM node:22-slim AS serverWORKDIR /app/server# toolchain in case better-sqlite3 has no prebuild for this platformRUN apt-get update && apt-get install -y --no-install-recommends python3 make g++ && rm -rf /var/lib/apt/lists/*COPY server/package*.json ./RUN npm ciCOPY server/ ./RUN npm run build && npm prune --omit=dev# labelers.json is gitignored instance config; fresh clones build with the exampleRUN [ -f labelers.json ] || cp labelers.json.example labelers.json
FROM node:22-slimENV NODE_ENV=productionWORKDIR /app/serverRUN apt-get update && apt-get install -y --no-install-recommends dumb-init && rm -rf /var/lib/apt/lists/*COPY --from=server /app/server/node_modules ./node_modulesCOPY --from=server /app/server/dist ./distCOPY --from=server /app/server/package.json ./package.jsonCOPY --from=server /app/server/labelers.json ./labelers.jsonCOPY --from=web /app/web/dist /app/web/distRUN mkdir /data && chown node:node /dataEXPOSE 8787ENTRYPOINT [ "dumb-init", "--" ]CMD ["node", "dist/index.js"]