Run Gyrator yourself
One binary with the UI inside. SQLite by default, Postgres when you want it. It runs on a small server or a laptop.
Presets
Team shapes: which groups rate each other, and who judges the result.
Privacy
What is collected, who sees what, and what never leaves your server.
Works councils
A one-page explanation for employee representatives.
Licence
Apache-2.0, plus a one-time honour licence for companies.
Install with Docker
git clone https://gitlab.com/kiosan/gyrator.git && cd gyrator
docker build -t gyrator .
docker run -p 8080:8080 -v gyrator:/data gyrator
Open http://localhost:8080, create the first admin, create a team from a preset, add people and open a check-in.
Build from source
You need Rust (stable) and Node 22.
npm --prefix web ci && npm --prefix web run build # the UI, embedded into the binary
cargo run --release -p gyrator # http://localhost:8080
Configuration
Environment variables, or a .env file in the working directory. Real environment variables win over the file.
| Variable | What it does |
|---|---|
DATABASE_URL |
sqlite://gyrator.db?mode=rwc by default; postgres://user:pass@host/db for Postgres |
BIND |
Address to listen on, 0.0.0.0:8080 by default |
SECURE_COOKIES |
Set to 1 when the app is served over HTTPS |
PUBLIC_URL |
The address used in emailed links, e.g. https://gyrator.example.org |
RESEND_API_KEY, RESEND_FROM |
Email each person their link when a check-in opens, through Resend. The sender must be on a domain verified in Resend |
ANTHROPIC_API_KEY |
Have Claude draft retro questions from the aggregates; without it they come from rules |
GYRATOR_AI_MODEL |
The model for retro questions, claude-opus-5-5 by default |
DEMO |
1 lets anyone open an account, with daily caps on emails and model calls. For a public demo; leave unset on your own server |
A check-in, start to finish
- Setup. Create a team from a preset, add people to each group, and set the project’s goal.
- Open a check-in. Each person gets their own link, from Setup or by email. No accounts for respondents.
- Answer. About five minutes on a phone; the stakeholder’s form takes about a minute.
- Close and read. Results open when the check-in closes: connections from both ends, where effort goes, inner state, the cooperation network and the goal. Every number shows its n.
- Retro. Take the retro questions into the team’s retrospective. After a few cycles, the timeline shows each index against the team’s own baseline.
Backups
Everything lives in one database. With SQLite, back up the file in the /data volume (or gyrator.db); with Postgres, use your usual dumps.