Your own deployment platform, on a server you control.
shed builds your GitHub repos, runs them in Docker next to their databases, puts them behind HTTPS, and backs everything up. One Go binary on a Linux box you own.
$ curl -fsSL https://shed.land/install.sh | sudo bashInstalls Docker, git, and Railpack if they're missing, asks for your domain, and starts shed as a systemd service. Run it again to upgrade.
Everything a small production setup needs
Push to deploy
Connect a repo and every push builds from your Dockerfile, or with Railpack when there isn't one. Optionally wait for CI to pass first.
Databases in a click
Postgres, MySQL, MongoDB, and Redis on persistent volumes. Services reach each other by name on a private project network.
HTTPS built in
Caddy runs inside shed. Point a domain at the server and certificates are issued and renewed for you.
Variables with references
Wire services together with ${{ postgres.DATABASE_URL }}. Values resolve at deploy time and are masked in logs.
Backups you can restore
Scheduled dumps and volume archives, compressed with zstd, optionally encrypted with age, kept on disk and in S3.
Logs, metrics, rollbacks
Live build and runtime logs, CPU and memory per service, zero-downtime switchovers, and one-click redeploys of any past build.
From a fresh server to a live app
- 1
Install
Run the installer on a Linux server with ports 80 and 443 free. It sets up Docker and the systemd service, then prints a setup link.
- 2
Connect GitHub
shed creates its own GitHub App on first run. It handles sign-in, repo access, push webhooks, and CI status.
- 3
Deploy
Add a repo or a Docker image to a project, give it a domain, and push. Each push becomes a new deployment.