pboProperty Ontology
dockerfile22 lines774 B
RawDownload
1# Repo explorer + document host for the Property Ontology.
2# Build context is the repository root so the whole repo is available to browse.
3FROM node:22-alpine AS deps
4WORKDIR /app/explorer
5COPY explorer/package.json explorer/package-lock.json* ./
6RUN npm ci --omit=dev --no-audit --no-fund
7
8FROM node:22-alpine
9ENV NODE_ENV=production \
10 REPO_ROOT=/repo \
11 PORT=3000
12WORKDIR /app/explorer
13COPY --from=deps /app/explorer/node_modules ./node_modules
14COPY explorer/ ./
15# The browsable repository (excludes .git, .env*, node_modules via .dockerignore)
16COPY . /repo
17RUN rm -rf /repo/explorer/node_modules
18USER node
19EXPOSE 3000
20HEALTHCHECK --interval=30s --timeout=3s --start-period=5s \
21 CMD wget -qO- http://127.0.0.1:${PORT}/healthz || exit 1
22CMD ["node", "server.js"]