Your own local cloud. Deploy and manage applications on your network with a CLI and web dashboard.
- One-command deploys — run
deployfrom any project directory - Auto-detection — supports Node.js, static sites, and Dockerfiles
- Web dashboard — monitor deployments, view logs, track resources, and manage containers
- mDNS routing — each app gets its own
<name>.localURL via multicast DNS - Live container logs — stream logs in real time from the CLI or dashboard
- Resource metrics — track CPU, memory, network, and disk I/O over time
- Request analytics — automatic traffic logging with status codes, response times, and RPM
- Deploy history — full audit trail of deploys, restarts, and deletions
- Multi-user auth — register accounts, token-based authentication
- Node.js 22+
- Docker
- OpenSSL — used to generate TLS certificates on first startup
git clone https://github.com/gabrielcsapo/deploy.local.git
cd deploy.local
pnpm install && pnpm buildpnpm startThis starts the HTTPS server on port 443 (with an HTTP redirect server on port 80). The dashboard is available at https://deploy.local. The server handles deployments, auth, Docker builds, TLS certificates, and subdomain proxying via mDNS.
On first startup, a local CA certificate is generated. To avoid browser TLS warnings, trust the CA cert on each client machine:
curl -O http://deploy.local/ca.crt
# macOS: open the file, add to Keychain, set to "Always Trust"
# Linux: copy to /usr/local/share/ca-certificates/ and run sudo update-ca-certificatesTo deploy from a different machine on the same network:
curl -fsSL http://deploy.local/install | shThis downloads the CLI binary and configures ~/.deployrc with the server URL.
deploy registerYou'll be prompted for a username and password. Credentials are stored in ~/.deployrc.
From any project directory:
deployYour app will be bundled, uploaded, built into a Docker image, and started. Visit https://<name>.local to see it running.
deploy server Start the deploy.local server
deploy Deploy the current directory
deploy list List all deployments
deploy logs -app <name> Stream logs from a deployment
deploy delete -app <name> Delete a deployment
deploy open -app <name> Open a deployment in the browser
deploy files List files that will be bundled
deploy schema Copy deploy.schema.json to current directory
deploy register Create a new account
deploy login Log in to an existing account
deploy logout Log out
deploy whoami Show current user
| Flag | Description |
|---|---|
-u, --url <url> |
Server URL (default: https://deploy.local) |
-app, --application <name> |
Application name |
-p, --port <port> |
Server port (default: 443) |
-h, --help |
Show help |
Aliases: d (deploy), ls (list), l (logs), rm (delete), o (open), f (files), r (register), who/me (whoami), start (server).
| Type | Detection | What happens |
|---|---|---|
| Docker | Dockerfile present |
Builds and runs your Dockerfile |
| Node.js | package.json present |
Generates a Dockerfile, runs npm install + npm start |
| Static | index.html present |
Serves files with a lightweight Node.js static server |
pnpm dev # Start dev server
pnpm test # Run tests
pnpm run lint # Lint with oxlint
pnpm run format # Format with oxfmt
pnpm run typecheck # TypeScript checksSee LICENSE for details.