Built in the open.
Licensed Apache‑2.0.
opendesk is developed in public. The code that runs opendesk Cloud is the code in the repository, and you can run, change and ship it under a permissive license.
## 01Why open source
Support software sits between you and every customer. It should be something you can check, move and fix yourself.
- [x]
You can read what touches your customers
A helpdesk holds every conversation you have with your customers. With opendesk, you can read the code that stores, sends and shows them.
- [x]
You can leave
If the cloud stops suiting you, run the same code on your own servers. Your data is in Postgres, in a schema you can read.
- [x]
You can change it
Fix a bug for your team today instead of waiting on a roadmap. Send it upstream if others would want it.
- [x]
One product, not two
There is no community edition with the good parts removed. The cloud runs the code in the repository.
## 02The cloud is the self‑host, plus configuration
opendesk Cloud and your server run the same build. What differs is a handful of settings: billing turns on with a Stripe key, AI with a provider key. Without them, every workspace is self-hosted with no limits.
How the cloud is laid out- Billing
STRIPE_SECRET_KEY - Set: plans, seats and AI usage
- Unset: no plans and no limits
- AI
ANTHROPIC_API_KEY - The instance’s provider, paid as AI usage in dollars
- Your key, or a local model on any OpenAI-compatible endpoint
- Data
DATABASE_URL - Neon Postgres, pooled
- Stock Postgres beside it
- Events
NATS_URL - A three-node NATS cluster
- Unset: NATS runs inside the binary
- Web app
SERVE_WEB - Served from Cloudflare Pages
- true: opendesk serves it too
## 03What is in the repository
One repository holds the server, the realtime gateway, every client, the docs and the deploy files. The contracts between them are written down before they are built.
Browse it on GitHub### Boring parts, on purpose
No Redis, no Kafka.- Go
- API and background workers, one binary
- Elixir and Phoenix
- Realtime gateway, channels and presence
- React
- Web app, help center and chat widget
- Postgres
- Data, job queue and event log
- NATS
- Event bus, embedded or clustered
- Caddy
- HTTPS for self-hosted installs
## 04Apache‑2.0, without asterisks
Use opendesk commercially, modify it, run it for your clients, and keep your changes private if you want to. The license includes an explicit patent grant. Keep the notices, and say what you changed.
Read the license- Commercial use
- Modification
- Distribution
- Patent grant
- Private use
- License and copyright notice
- State changes
- Trademark use
- Liability
- Warranty
## 05Contributing
Issues, discussions and pull requests are welcome. Read AGENTS.md and the files in contracts/ before changing an interface between parts.
Read the contributing guide- gofmt, go vet and go test
- Writes publish events in the same transaction
- Stable error codes, never raw errors
- One-line commit messages
- Sentence case, plain words
Give every customer a calm, good answer.
Start on the cloud in a minute, or self-host it tonight. It is the same code either way.


