Skip to content

Self-hosting quickstart

Run Fajita locally with Docker Compose: clone, configure Clerk and secrets, start the stack, and create your first monitor.

Core · 15 min

This guide boots a self-hosted Fajita stack on your machine. You need Docker, a Clerk application you control, and secrets for database access and monitor encryption.

Prerequisites

  • Docker and Docker Compose
  • Node.js 22+ for helper scripts
  • A Clerk application

Steps

  1. Clone and copy environment file

    bash
    git clone https://github.com/Accomplish-Labs/fajita-io.git
    cd fajita-io
    cp .env.example .env
  2. Configure deployment mode and Clerk

    Set at minimum in .env:

    text
    FAJITA_DEPLOYMENT_MODE=self_hosted
    NEXT_PUBLIC_APP_URL=http://localhost:3000
    NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
    CLERK_SECRET_KEY=sk_test_...
    CRON_SECRET=<long-random-string>
    MONITOR_SECRET_KEYRING=1:<base64-of-32-bytes>
  3. Start the stack

    bash
    docker compose up -d

    Run npm run selfhost:doctor to validate configuration without printing secrets.

  4. Sign in and create a monitor

    Open [http://localhost:3000](http://localhost:3000), sign in through Clerk, and create a monitor.

Was this page helpful?