an atproto based link aggregator
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 42 lines 1.0 kB view raw
1FROM node:22-slim AS base 2ENV PNPM_HOME="/pnpm" 3ENV PATH="$PNPM_HOME:$PATH" 4RUN corepack enable 5 6WORKDIR /app 7 8# Build stage 9FROM base AS build 10 11COPY package.json pnpm-lock.yaml .npmrc ./ 12RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 13 14COPY . . 15RUN pnpm build 16 17# Production stage 18FROM base AS production 19 20# Install supervisor for multi-process management 21RUN apt-get update && apt-get install -y supervisor && rm -rf /var/lib/apt/lists/* 22 23# Copy built artifacts 24COPY --from=build /app/build ./build 25COPY --from=build /app/node_modules ./node_modules 26COPY --from=build /app/package.json ./ 27COPY --from=build /app/drizzle ./drizzle 28COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf 29COPY scripts/start.sh /app/start.sh 30COPY drizzle.content.config.ts drizzle.local.config.ts ./ 31 32# Create data directory (will be mounted as volume) 33RUN mkdir -p /data 34 35ENV NODE_ENV=production 36ENV PORT=3000 37ENV CONTENT_DB_PATH=/data/content.db 38ENV LOCAL_DB_PATH=/data/local.db 39 40EXPOSE 3000 41 42CMD ["/app/start.sh"]