42 lines · 1.3 KB · YAML
RawDownload
# One-command self-hosted Executor.##   docker compose up -d --build      # build the image and start#   open http://localhost:4788        # create the admin account (first-run)## Everything — SQLite (libSQL), QuickJS code execution, and the MCP server — runs# in this single container. The named volume persists the database and the# generated keys across restarts and upgrades. Nothing else to orchestrate.## No configuration is required: a bare `docker compose up` boots a working# instance and walks you through creating the admin account in the browser.# Optional settings live in .env (see .env.example) — most importantly# EXECUTOR_WEB_BASE_URL when serving behind a domain / TLS. services:  executor:    build:      # Build context is the repo root: the Bun workspace install needs every member.      context: ../..      dockerfile: apps/host-selfhost/Dockerfile    image: executor-selfhost    restart: unless-stopped    ports:      - "4788:4788"    env_file:      - path: .env        required: false    volumes:      - executor-data:/data    healthcheck:      test:        - CMD        - bun        - -e        - "fetch('http://127.0.0.1:4788/api/health').then(r=>process.exit(r.ok?0:1),()=>process.exit(1))"      interval: 30s      timeout: 5s      retries: 5      start_period: 20s volumes:  executor-data: