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
Clone and copy environment file
git clone https://github.com/Accomplish-Labs/fajita-io.git cd fajita-io cp .env.example .envConfigure deployment mode and Clerk
Set at minimum in
.env: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>Start the stack
docker compose up -dRun
npm run selfhost:doctorto validate configuration without printing secrets.Sign in and create a monitor
Open [http://localhost:3000](http://localhost:3000), sign in through Clerk, and create a monitor.