Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
cross-reader-sinker Dockerfile
1.2 kB · 42 lines
Dockerfile
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243# syntax=docker/dockerfile:1
# ---------------------------------------------------------------------------# Dependencies (sharp ships prebuilt linux-x64/arm64 binaries, so no build# toolchain is needed on glibc images).# ---------------------------------------------------------------------------FROM node:22-bookworm-slim AS deps
WORKDIR /appCOPY package.json package-lock.json ./RUN npm ci --omit=dev
# ---------------------------------------------------------------------------# Runtime# ---------------------------------------------------------------------------FROM node:22-bookworm-slim
ENV NODE_ENV=production \ SINKER_SOURCE_DIR=/books/in \ SINKER_OUTPUT_DIR=/books/out \ SINKER_STATE_DIR=/data/state \ SINKER_OAUTH_DIR=/data/oauth \ SINKER_LOGIN_HOST=0.0.0.0
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modulesCOPY package.json ./COPY src ./src
RUN groupadd --system sinker \ && useradd --system --gid sinker --home-dir /data --shell /usr/sbin/nologin sinker \ && mkdir -p /data/state /data/oauth /books/in /books/out \ && chown -R sinker:sinker /data /books /app
USER sinker
VOLUME ["/data", "/books/in", "/books/out"]
ENTRYPOINT ["node", "src/sinker-cli.js"]CMD ["watch"]