PDS Admin tool make it easier to moderate your PDS with labels
at main 32 lines 998 B view raw
1FROM node:24-slim AS builder 2ENV PNPM_HOME="/pnpm" 3ENV PATH="$PNPM_HOME:$PATH" 4RUN corepack enable 5WORKDIR /app 6 7COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ 8# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 9RUN pnpm install --frozen-lockfile 10 11COPY tsconfig.json ./ 12COPY src ./src 13RUN pnpm exec tsc 14 15FROM node:24-alpine3.22 AS runtime 16ENV PNPM_HOME="/pnpm" 17ENV PATH="$PNPM_HOME:$PATH" 18RUN corepack enable 19WORKDIR /app 20 21COPY --from=builder /app/dist /app/dist 22COPY ./drizzle /app/drizzle 23# A very bad hack. need to see how to get a toml file to the volume of railway without this 24# COPY settings.toml /app/settings.toml 25COPY --from=builder /app/package.json /app/pnpm-lock.yaml /app/pnpm-workspace.yaml ./ 26# RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile 27RUN pnpm install --prod --frozen-lockfile 28 29# ENV DATABASE_URL="file:/app/data/label-watcher.db" 30ENV MIGRATIONS_FOLDER="drizzle" 31 32CMD ["node", "dist/index.js"]