Open source · Written in Rust · Self-hosted

Your server.
Your data.
No cloud.

One static binary. Git hosting, websites, email, photo libraries, calendars, contacts, DNS, and container registries — running on your own hardware, under your own control.

One binary

No runtime dependencies, no multi-service orchestration. A single static binary — run it directly or from the scratch container image — starts every service you enable: SSH, HTTP, SMTP, DNS, all of them.

Your data, your hardware

Nothing leaves your machine. No API keys, no cloud accounts, no subscriptions. Your repos, emails, photos, and contacts stay exactly where you put them.

Standard protocols

SSH, HTTP, SMTP, CalDAV, CardDAV, DNS, OCI. Every client you already use keeps working — you just stop pointing it at someone else’s server.

Enable what you need

Each backend is independent. Start with just Git hosting today. Add a site, a photo library, or an email inbox whenever you want — all from one process.

Everything your server needs

All services run in the same process. No glue code, no sidecar containers, no network hops between your own services.

Up in a minute

Pull the multi-arch container image and start the server:

docker run -d --name everlock \
  -p 80:80 -p 443:443 -p 2222:2222 \
  -v everlock-data:/data \
  cr.everlock.sh/everlock:latest

The image is a single static binary on scratch, published multi-arch (amd64/arm64). On first run, Everlock bootstraps an admin account and prints the generated password to its log (docker logs everlock). From there, enable backends and create your first site or repository over the admin SSH console.

Full getting started guide