Monorepo for wisp.place. A static site hosting service built on top of the AT Protocol.
wisp.place
1# Use official Bun image
2FROM oven/bun:1.3 AS base
3
4# Set working directory
5WORKDIR /app
6
7# Copy package files
8COPY package.json bun.lock* ./
9
10# Install dependencies
11RUN bun install --frozen-lockfile
12
13# Copy source code
14COPY src ./src
15COPY public ./public
16
17# Build the application (if needed)
18# RUN bun run build
19
20# Set environment variables (can be overridden at runtime)
21ENV PORT=3000
22ENV NODE_ENV=production
23
24# Expose the application port
25EXPOSE 3000
26
27# Health check
28HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
29 CMD bun -e "fetch('http://localhost:3000/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))"
30
31# Start the application
32CMD ["bun", "src/index.ts"]