FROM oven/bun:1-alpine AS base WORKDIR /app # Install pi CLI and dependencies RUN apk add --no-cache git curl openssh-client # Copy package files COPY package.json bun.lock* ./ RUN bun install --frozen-lockfile || bun install # Copy source COPY . . # Create logs directory RUN mkdir -p logs # Health check HEALTHCHECK --interval=30s --timeout=10s --retries=3 \ CMD curl -f http://localhost:8787/health || exit 1 EXPOSE 8787 CMD ["bun", "run", "src/index.ts"]