Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
wisp.place
1# Use official Node.js Alpine image
2FROM node:alpine AS base
3
4# Set working directory
5WORKDIR /app
6
7# Copy package files
8COPY package.json ./
9
10# Install dependencies
11RUN npm install
12
13# Copy source code
14COPY src ./src
15
16# Create cache directory
17RUN mkdir -p ./cache/sites
18
19# Set environment variables (can be overridden at runtime)
20ENV PORT=3001
21ENV NODE_ENV=production
22
23# Expose the application port
24EXPOSE 3001
25
26# Health check
27HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
28 CMD node -e "fetch('http://localhost:3001/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
29
30# Start the application (can override with 'npm run backfill' in compose)
31CMD ["npm", "run", "start"]