Skip to content

What is Moonshed? ​

Moonshed is a self-hosted platform for deploying your apps, in the same space as Dokploy or Coolify, but built to stay small. It is a single Go binary with SQLite, it runs on Linux and Windows, and it is comfortable on a server with 1 core and 1 GB of RAM.

Moonshed dashboard

Early development

Moonshed is pre-release. Expect rough edges and breaking changes between versions.

What you get ​

  • Deploys from GitHub (through a GitHub App), any git URL, a zip upload, or CI with an API token. Pushes can deploy automatically.
  • Native or Docker apps. An app runs either as a plain process that Moonshed supervises, or as a Docker container.
  • Health-checked rollouts. If the new version doesn't come up healthy, the old one is started again.
  • A built-in reverse proxy (Caddy) with domains and automatic HTTPS.
  • Monitoring: resource graphs, uptime and incidents from real health checks, optional auto-restart and a request log.
  • Backups of an app's code, data, env vars and logs, on a schedule or on demand.
  • Teams: projects, users, API tokens and an audit log.

How it fits together ​

TermMeaning
ProjectA group of apps. Every app belongs to one.
AppSomething you deploy. It has a name, a runtime, a port, env vars and domains.
BundleA zip of the app's code, with a moonshed.yaml and/or a Dockerfile. Uploaded, or made from a git checkout.
ReleaseA bundle unpacked and built into a folder, ready to run.
DeploymentBuilding a release, stopping the old one, starting the new one and checking its health.
DomainA hostname (and optional path) that the built-in proxy routes to an app.

Each app is configured with a moonshed.yaml in its repository, or with the same settings in the UI. A Dockerfile on its own is also enough.

Platform support ​

  • Linux and Windows are supported. Moonshed runs as a systemd unit or a Windows service.
  • macOS builds and runs for local development only.

Next: install Moonshed.

Released under the AGPL-3.0 license.