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"]