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