~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/pds.js

An atproto PDS in JavaScript, for Cloudflare Workers and Node

0
0
main
36 lines · 988 B Raw History
FROM node:20-slim

# Install pnpm
RUN npm install -g pnpm

WORKDIR /app

# Copy package files first for better caching
COPY package.json pnpm-lock.yaml* pnpm-workspace.yaml* ./
COPY packages/core/package.json ./packages/core/
COPY packages/storage-sqlite/package.json ./packages/storage-sqlite/
COPY packages/blobs-fs/package.json ./packages/blobs-fs/
COPY packages/readonly/package.json ./packages/readonly/

# Install dependencies
RUN pnpm install --frozen-lockfile || pnpm install

# Copy source code
COPY packages/core/ ./packages/core/
COPY packages/storage-sqlite/ ./packages/storage-sqlite/
COPY packages/blobs-fs/ ./packages/blobs-fs/
COPY packages/readonly/ ./packages/readonly/

# Create data directories
RUN mkdir -p /data/repos /data/blobs /data/db

# Set environment variables
ENV PDS_PORT=3000
ENV PDS_HOSTNAME=localhost

# Expose port
EXPOSE 3000

# Run the read-only PDS
ENTRYPOINT ["node", "packages/readonly/src/cli.js"]
CMD ["--data-dir", "/data/db", "--port", "3000"]