One binary, one YAML, one verb — and your self-hosted stack is running, behind HTTPS, reachable from anywhere, with the configuration in git.
asd is a single binary that turns a folder of YAML manifests into a
running stack: containers up, reverse-proxy routes configured, public
HTTPS tunnels live, dev tools (DB browser, web editor, terminal,
inspector) one command away. No SaaS dependency. No hand-maintained
nginx configs. The whole stack description lives in your repo.
You write two YAML files. One verb (asd up for processes,
asd net apply for routes) reads them and configures the four moving
parts: Caddy holds the routes, the tunnel daemon publishes them, the
registry tracks runtime state, the world hits your service.
asd is forPublic HTTPS for self-hosted services without a SaaS in the middle.
Your traffic goes through your own tunnel server (or ours), not a
third party's edge. Certificates handled by Caddy.
Declarative reverse-proxy + tunnels in one file per service.
Edit packages/<svc>/net.manifest.yaml, run asd net apply, done.
The reverse-proxy config and the tunnel come up together.
Browser-accessible dev tools that share your stack's URL space.
asd database start, asd code start, asd terminal start,
asd inspect start — DbGate, code-server, ttyd, mitmproxy each
on its own subdomain, through the same pipeline as your app.
asd? learn/01-hello-world — five minutes from localhost:3000 to a public HTTPS URL.why — what asd replaces and when it's the wrong tool.concepts — five paragraphs.learn/00-start-here — decision aid.reference/net-manifest (per-service routing) and reference/asd-yaml (project-level config).reference/cli (~230 commands) and reference/cli/starter (the Top 7 you actually need first).Linux / macOS:
curl -fsSL https://asd.host/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/asd-engineering/asd-cli/main/install.ps1 | iex
Windows (cmd):
curl -fsSL https://raw.githubusercontent.com/asd-engineering/asd-cli/main/install.cmd -o %TEMP%\install.cmd && %TEMP%\install.cmd
The installer drops the binary in ~/.local/bin/asd (or
%LOCALAPPDATA%\asd\bin\asd.exe on Windows). Set VERSION=v… to
pin a specific release, or VERSION=list to see what's available.
After install, keep it current with asd update.
Releases: github.com/asd-engineering/asd-cli/releases.