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 tiffin CLI 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 and managed boxes compared
Self-hostedManaged by ShipTiffin
The softwareThe sameThe same
Making the serverYou run tiffin up, on Hetzner or any Ubuntu serverWe make it in your own Hetzner account, in about 5 minutes
UpdatesThe box installs signed releases itselfThe same, while you’re subscribed
Monitoring from outsideYours to set upEvery 5 minutes, with an email when the box stops answering
Backups off the serverTo a bucket you set, encryptedEvery 6 hours, encrypted with a key only you hold, kept 30 days
An addressAn sslip.io address until you set your own domainA free name.shiptiffin.app with HTTPS, plus your own domains
Resizingtiffin up with a new typeFrom your account
SupportIssues on GitHubBy email
PriceFree. 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.
Managed: no usage charges, seats or per-project fees, a 14-day money-back guarantee, monthly only. How it works, and what we can and can’t reach on your server: managed boxes and security.

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.

Terminal
$ 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.

Terminal
$ 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 test and make lint pass, and the description says what you checked by hand.

  • Docs move with the code

    A change people can see updates docs/guide in the same pull request, and a new gap goes in docs/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.

Terminal
$ 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.