Self-host your SaaS on one server, without a cloud platform bill
Last updated
Seed runs on a Linux server you rent, with Docker Compose in development and production alike, and one command ships it. You prepare the server once with the written steps, then every later deploy is that command alone.
- Traefik in front, with automatic certificates
- Postgres and Valkey beside the apps
- Garage, an S3 file store, for images and PDFs on notes and for profile pictures. Uploads go through signed links and are checked by their contents. Photos, HEIC included, become small AVIF and WebP versions with location and other metadata removed
- VictoriaMetrics, VictoriaLogs and Grafana, with alerts
- An opt-in daily encrypted restic backup of the database, and a written restore
- Release images published from CI when you push a version tag
The deploy copies the project to the server over SSH and starts it with Compose; on every deploy a one-shot service applies the database migrations. Traefik sits in front and asks Let's Encrypt for each host's certificate.
Postgres, Valkey, an S3 file store, metrics, logs and dashboards with alerts run beside the apps, and several products can share one server behind the same proxy.
- Traefik
- Postgres
- Valkey
- VictoriaMetrics
- VictoriaLogs
- Grafana
- Alertmanager
- Garage file store
- restic backups
Do I need Kubernetes?
No. Docker Compose on one server runs the whole product, in development and in production.
Can several products share one server?
Yes. They share one proxy, and each keeps its own directory, database and data; share a server only between products you trust alike.
Is there a backup?
Yes. An opt-in daily encrypted restic backup of the database, with a written restore.
Does Seed run on Node or Bun?
Not yet. Runs on Deno today; Node and Bun support is planned (#623).