Open source
Run Tiffin yourself, free.
Tiffin, the software on every ShipTiffin box, is open source under AGPL-3.0. Install it on your own server and you get the same box: apps, Postgres, KV, files, sign-in, email, jobs, analytics, error tracking and backups, with nothing to pay us.
Updated
In short
All of Tiffin is free: the platform is AGPL-3.0 and the SDK your apps import is Apache-2.0. The code is at github.com/shiptiffin/tiffin, and it runs on Hetzner or on any Ubuntu 24.04 or 26.04 server you can SSH into.
The $19 managed box is the same software with service around it: setup in your own Hetzner account, monitoring from outside, encrypted backups off the server, a name.shiptiffin.app address, resizing from your account, and support.
What's free: all of it.
There is no community edition and no paid tier of the software. A box you run yourself has every part a managed box has.
The whole platform
Apps (Next.js first), previews, Postgres with branches, KV, files, sign-in, email, jobs, analytics, error tracking, backups and domains with HTTPS.
The tools to run it
The dashboard, the
tiffinCLI and the MCP server for coding agents. One binary is all three, and the box itself.Updates
A box running a release installs new signed releases by itself, about every hour, after a backup. Turn it off or give it a window.
Backups, on and off the box
Postgres goes back to any second of the last 7 days. Copy every backup, encrypted, to any S3-compatible bucket you choose.
What the $19 managed box adds.
Self-hosting is the same software with the care left to you. Here is the difference, line by line.
| Self-hosted | Managed by ShipTiffin | |
|---|---|---|
| The software | The same | The same |
| Making the server | You run tiffin up, on Hetzner or any Ubuntu server | We make it in your own Hetzner account, in about 5 minutes |
| Updates | The box installs signed releases itself | The same, while you’re subscribed |
| Monitoring from outside | Yours to set up | Every 5 minutes, with an email when the box stops answering |
| Backups off the server | To a bucket you set, encrypted | Every 6 hours, encrypted with a key only you hold, kept 30 days |
| An address | An sslip.io address until you set your own domain | A free name.shiptiffin.app with HTTPS, plus your own domains |
| Resizing | tiffin up with a new type | From your account |
| Support | Issues on GitHub | By email |
| Price | Free. Your host bills you for the server. | $19 a month per box ($12 for the first 100 customers, locked for 24 months), plus the server, billed by Hetzner to you at their prices. |
Run it yourself.
Install the CLI on macOS or Linux (on Windows, inside WSL), then make a box. It prints the dashboard address and a one-time sign-in link.
On Hetzner
Make a Read & Write API token in the Hetzner Cloud console (your project → Security → API tokens). It makes the server, a 40 GB data volume, a firewall and an SSH key in your Hetzner project.
$ curl -fsSL https://shiptiffin.com/install.sh | sh $ export HCLOUD_TOKEN=... # the Hetzner token $ tiffin up --provider hetzner --name shop --dry-run # what it makes, and the monthly price $ tiffin up --provider hetzner --name shop # a few minutes
On any Ubuntu server
Any Ubuntu 26.04 server (24.04 also works) you can reach over SSH, as root or a user with passwordless sudo.
$ curl -fsSL https://shiptiffin.com/install.sh | sh $ tiffin up --provider ssh --name shop --host root@YOUR_SERVER_IP
Open the sign-in link and add a passkey in Settings. The quickstart covers the rest: connecting your agent, your first project, resizing and Tiffin’s own updates. Or let your coding agent do it: the setup prompt has a self-hosted path.
The licence, in plain words.
A summary, not legal advice. The LICENSE file is what counts.
Use it for anything
Run Tiffin for yourself, your company or your customers, free or paid. The platform is
AGPL-3.0-only.Your apps stay yours
What ends up inside your apps is Apache-2.0: the SDK, the starters, templates and examples, and the analytics tracker. Your app’s code can use any licence you choose.
Change it freely
Read it, fork it and change it. If you run a changed copy as a service for others, offer them its source.
Contributions keep the same terms
What you send is licensed under the licence of the part it touches: AGPL-3.0-only for the platform, Apache-2.0 for the parts above.
Read the LICENSE and the README’s License section, which lists every Apache-2.0 part.
Contribute.
The guide is CONTRIBUTING.md at the root of the repository. The short version:
Open an issue first
For anything bigger than a fix, so we agree on the shape before you build it. Small fixes and doc corrections can go straight to a pull request.
Agent-written pull requests are welcome
Held to the same bar: you read the diff,
make testandmake lintpass, and the description says what you checked by hand.Docs move with the code
A change people can see updates
docs/guidein the same pull request, and a new gap goes indocs/guide/limits.md.Security problems by email
Not in an issue: write to hello@shiptiffin.com with “Security” in the subject.
Build and test
You need Go 1.27 or later and Bun.
$ bun install # the JS workspace (dashboard, SDK, auth engine, emails) $ make build # bin/tiffin $ make test # Go tests with the race detector, Bun tests, then make site-test $ make lint # gofmt, go vet, staticcheck
Read CONTRIBUTING.md: where things are, the module contract, local and dev boxes, tests and releases.
Which one to pick.
Managed is the better fit when
- You want a box running in five minutes without touching SSH
- You'd rather someone else watched it from outside
- You want backups off the server without setting up a bucket
- You want a name.shiptiffin.app address and someone to email
Self-hosting is the better fit when
- You already run servers and watch them
- Your server isn't at Hetzner
- You want to change Tiffin itself
- You want to pay for nothing but the server
Questions
Is the self-hosted version cut down?
No. It is the same software as on a managed box: every service, the dashboard, the CLI and the MCP server. What a managed box adds is service around it, listed above, not features in it.
Do I need a ShipTiffin account to self-host?
No. Install the CLI and run tiffin up. You need a server (or a Hetzner token to make one) and SSH.
Can I use it for a commercial product?
Yes. The AGPL lets you run Tiffin for any purpose, including paid products. Your apps import the SDK, which is Apache-2.0, so your own code stays under whatever licence you choose.
Can I move between self-hosted and managed?
Yes, project by project. Export a project to a single .tiffin file with its code, data and files, and import it on the other box, or move it in one step. See copying and moving projects.
What happens to a managed box if I stop paying?
It keeps running in your Hetzner account, as yours. Automatic updates pause, and off-box backup copies, monitoring emails and support stop; the name.shiptiffin.app address keeps working for 30 days. Details on managed boxes.
Related: what your coding agent can do on a box and what works and what doesn’t yet.
Same box either way.
Run it yourself for free, or let us set it up in your Hetzner account for $19 a month.