🚀 Installation
5-minute self-host setup. Works on Mac mini, NAS, Linux server, or any Docker host.
Requirements
- Docker + docker-compose v2 — Docker Desktop on Mac/Win, Engine on Linux
- ~2GB RAM, 20GB disk — Scarif One uses a few hundred MB; the rest is for tenant data + cache
- A free Gemini API key — get one at aistudio.google.com/apikey
If you want to expose the dashboard to the public internet, also: Cloudflare Tunnel (free, easiest) OR an SSL reverse proxy.
One-line install
curl -fsSL https://raw.githubusercontent.com/Scarif-One/scarif-one/main/scripts/install.sh | bash
This:
- Verifies Docker is installed
- Creates
~/scarif-one/ - Downloads
docker-compose.yml+.env.example - Prompts for your
GEMINI_API_KEY - Pulls the image from GHCR + starts the container
- Tells you when
http://localhost:3000is ready
Manual install
If you don't want to pipe a script to bash, do it yourself:
mkdir scarif-one && cd scarif-one curl -fsSL https://raw.githubusercontent.com/Scarif-One/scarif-one/main/docker-compose.yml -o docker-compose.yml curl -fsSL https://raw.githubusercontent.com/Scarif-One/scarif-one/main/.env.example -o .env.local # Edit .env.local — at minimum set GEMINI_API_KEY nano .env.local docker compose up -d
First run
- Open
http://localhost:3000 - The first-run wizard auto-launches
- 5 steps: business info → AI brand voice scan → locale → integrations → admin login
- Total time: ~10 minutes
- Wizard finish → land on the dashboard already logged in
Auto-updates
Optional. Adds a Watchtower container that polls GHCR every 24h:
cd ~/scarif-one docker compose --profile auto-update up -d
To pin a specific version (skip auto-updates):
SCARIF_VERSION=v0.2.0 docker compose up -d
Exposing to the internet (optional)
The simplest path: Cloudflare Tunnel.
- Sign up at cloudflare.com + add your domain
- Cloudflare Zero Trust → Networks → Tunnels → Create tunnel
- Run the cloudflared install command Cloudflare gives you
- Map your subdomain to
localhost:3000 - Done — your dashboard is accessible at e.g.
scarif.yourdomain.com
Cloudflare handles the SSL + DDoS protection automatically. Free.
Backups
Set SCARIF_BACKUP_DIR in .env.local to enable nightly tarball backups at 04:00:
SCARIF_BACKUP_DIR=/path/to/backups
Manual backup any time: POST /api/admin/backup-now with SCARIF_SUPERADMIN_TOKEN.
S3-compatible (R2, B2, AWS) backup support is on the v1.5 roadmap — for now, sync your SCARIF_BACKUP_DIR to S3 with rclone or similar.
Updating
cd ~/scarif-one docker compose pull docker compose up -d
Your tenant data persists across updates (it's in ./data).
Stuck?
Check the container logs:
cd ~/scarif-one && docker compose logs -f
Or email hello@scarifone.com with the output.