Getting started¶
Gaby is self-hosted, so there's one technical step — deploying it — and then a guided in-app wizard does the rest: connecting your help desk, your systems, and your knowledge base. After the deploy you don't touch the command line again.
Who does what
The deploy in step 1 needs someone comfortable with Docker (or your infra/platform person, once). Everything after that — steps 2 and 3 — is point-and-click in the browser, so whoever runs support can own it.
1. Deploy¶
git clone https://github.com/sky-cloak/gaby
cd gaby
make install # backend + web + Slack MCP deps
make env # writes ops/docker/.env — add your ANTHROPIC_API_KEY
make up # docker compose up -d → backend :8080, web :8090, redis
Then open http://localhost:8090.
Run Gaby in-cluster so it can reach your internal systems without a VPN. See Kubernetes deployment for the manifests and the secret/config layout.
You need two things: Docker and an Anthropic API key (Gaby is
bring-your-own-key — your key, your data, your infrastructure). That key goes
in ops/docker/.env during make env.
2. Create your admin account¶
First boot prints a one-time bootstrap URL to the logs. Grab it with:
Open that URL, set an email + password, and you're the admin. The link is single-use and expires, so future admins never re-see this first-run setup.
3. Let the onboarding wizard do the rest¶
After you log in, a short wizard walks you through everything — no config files, no command line:
- Use case — support, ops, or MSP.
- Help desk — connect Zoho Desk, an email mailbox, or Slack so tickets flow in.
- History replay — Gaby reads your past tickets to learn your team's voice and common fixes.
- Knowledge — upload docs or PDFs Gaby can cite in its answers.
- Systems — pick what Gaby investigates against: Postgres, Keycloak, Redis, Sentry, Stripe, a curated community MCP, or your own (local command or a remote URL).
- Escalation — where Gaby raises a human when something needs one.
Then send a test ticket through your help desk. Gaby polls it, investigates the root cause against the systems you connected, and either drafts a reply or escalates — per the autonomy level you chose.
Need a connector that isn't in the list?
Anything that speaks the Model Context Protocol works. See Bring your own MCP for a local command or a remote HTTP server, and One MCP vs many for whether to consolidate behind a single internal MCP.
For contributors and operators who want the details¶
Everything below is optional — the three steps above are the whole setup.
Two-terminal local development
Optional Docker profiles
make up-graph # + Postgres+AGE for graph-native memory
make up-slack # + @gaby/mcp-slack inbound ticket source
make up-all # both
Every environment variable Gaby reads is documented in
ops/docker/.env.example.
Running the test suite
Where to go next¶
- Your first investigation — drive one real ticket end to end.
- Connectors — everything Gaby can talk to.
- Cost dashboard — watch LLM spend.
- Escalation policy — tune when Gaby hands off to a human.