Introduction
What Otterdeploy is, what it runs, and how these docs are organised.
Otterdeploy is a self-hostable deployment platform. You bring a Linux box — or a cluster of them — and it gives you git-sourced builds, managed databases, a Caddy edge with automatic HTTPS, per-pull-request previews, live logs, metrics and scheduled backups. Everything runs on your hardware; nothing phones home, and nothing stops working if we do.
Under active development
Interfaces and schemas still change without migration paths. Run it on something you'd be willing to rebuild, and read what isn't built yet before you plan around a feature.
What you can run
- Services — apps built from a git repo (framework auto-detected, or your own Dockerfile), from a pre-built image, or from an upload.
- Databases — PostgreSQL, Redis, MariaDB, MongoDB and ClickHouse, provisioned as first-class resources next to the services that use them.
- Compose stacks — a whole
docker-composeproject as one resource, pasted inline or pulled from a repo.
Everything is reachable three ways: the dashboard, the otterdeploy CLI, and
the typed API the other two are built on.
Where to start
Concepts
Organisations, projects, resources, deployments — the model everything else assumes.
Install
Put the control plane on your own server.
First deploy
From an empty project to a running service.
CLI reference
Every command and flag the binary accepts.
Guides
Task-shaped pages for the things you'll do after the first deploy: services, databases, domains and TLS, environment variables, previews, backups and servers.
Reference
The manifest schema for otterdeploy.json, the
CLI reference, and the
HTTP API generated from the live OpenAPI spec.