# ============================================
# AutoDeployer — No build step, static dashboard
# ============================================
FROM node:20-alpine

# Install build dependencies for native modules (better-sqlite3, node-pty)
RUN apk add --no-cache \
    python3 \
    make \
    g++ \
    git \
    docker-cli

WORKDIR /app

# Install server dependencies
COPY server/package*.json ./
RUN npm install --omit=dev && npm cache clean --force

# Copy server source
COPY server/src ./src

# Copy static dashboard (no build step needed)
COPY dashboard/index.html ./public/index.html
COPY dashboard/css ./public/css
COPY dashboard/js ./public/js
COPY dashboard/lib ./public/lib

# Create data directory
RUN mkdir -p /app/data /tmp/builds

EXPOSE 3000

# Health check
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
    CMD wget -qO- http://localhost:3000/api/health || exit 1

CMD ["node", "src/index.js"]
