# Hub archive sync bot. Build from the monorepo root so workspace:* deps resolve: # docker build -f apps/archive-bot/Dockerfile -t hub-archive-bot . FROM node:22-slim AS build WORKDIR /app COPY . . RUN NODE_ENV=development npx --yes pnpm@9.12.0 install --frozen-lockfile RUN npx --yes pnpm@9.12.0 --filter @tactical-media-broadcast-hub/archive-bot... build FROM node:22-slim ENV NODE_ENV=production WORKDIR /app # Workspace node_modules are relative symlinks; copy the built tree whole. COPY --from=build --chown=node:node /app /app # Non-root, and the bot never writes payloads to disk (streams straight to WebDAV). USER node EXPOSE 8085 CMD ["node", "/app/apps/archive-bot/dist/main.js"]