openclaw/extensions/boltbot/deploy/Dockerfile
duy 1096cc16e6 feat: add boltbot extension — EigenCloud verification layer
Trustless hosting extension for Moltbot via EigenCloud infrastructure:
- EigenAI provider with x-api-key auth and configPatch registration
- Action tier classification for all 23 canonical tools
- Receipt logging on after_tool_call hook (medium/high tier)
- Anomaly detection (BCC, outbound curl, process, gateway)
- SQLite receipt store with EigenDA proxy backend
- Dashboard API endpoints (/boltbot/receipts, /receipt, /stats)
- EigenCompute TEE deploy script and Dockerfile
2026-01-29 12:55:24 -08:00

45 lines
1023 B
Docker

# Boltbot — Moltbot on EigenCompute TEE
# Base: Node 22 + Chromium for headless browser automation
# Must run as root (EigenCompute TEE constraint)
# Platform: linux/amd64 only
FROM node:22-bookworm
# Install Chromium + Xvfb + fonts for headless browser
RUN apt-get update && apt-get install -y --no-install-recommends \
chromium \
xvfb \
fonts-liberation \
fonts-noto-color-emoji \
dbus \
&& rm -rf /var/lib/apt/lists/*
# Supervisor script to start Xvfb + Chromium + Node gateway
COPY deploy/start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh
WORKDIR /app
# Copy package files and install
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && pnpm install --frozen-lockfile --prod
# Copy application code
COPY . .
# Build TypeScript
RUN pnpm build
# Expose gateway port
EXPOSE 18789
# EigenCompute TEE: must run as root
USER root
# Environment defaults
ENV DISPLAY=:99
ENV CHROMIUM_PATH=/usr/bin/chromium
ENV NODE_ENV=production
CMD ["/usr/local/bin/start.sh"]