@deploykit/cli
v0.1.0
Published
Install, update, and manage a self-hosted DeployKit instance on a Linux VPS.
Maintainers
Readme
@deploykit/cli
Install, update, and manage a self-hosted DeployKit instance on a Linux VPS.
npm install -g @deploykit/cli
sudo deploykit install --domain deploy.example.com --email [email protected]This is a native Node port of the curl | sh installer that ships with DeployKit. Everything the shell installer does — installing Docker, cloning the repo, generating secrets, building containers, bootstrapping the admin account — is reproduced here as a typed, scriptable CLI.
Requirements
- A Linux VPS (Ubuntu, Debian, RHEL, Alpine)
- Root or
sudo - Node.js >= 20 on the VPS (only needed to run the CLI itself; everything else is installed for you)
- Ports 80 and 443 reachable from the public internet
The CLI refuses to run on macOS or Windows on purpose. Connect to the VPS via SSH and run it there.
Install the CLI
npm install -g @deploykit/cliOr one-shot via npx:
sudo npx @deploykit/cli install --domain deploy.example.com --email [email protected]Commands
deploykit install
Bootstraps DeployKit on the current machine.
sudo deploykit install \
--domain deploy.example.com \
--email [email protected] \
--admin-email [email protected] \
--admin-password mypassword123| Flag | Description | Default |
|------|-------------|---------|
| --domain <domain> | Dashboard domain (required) | — |
| --email <email> | Let's Encrypt email (required) | — |
| --admin-email <email> | Pre-create admin account | — |
| --admin-password <pwd> | Admin password, min 8 chars | — |
| --dir <path> | Install directory | /opt/deploykit |
| --branch <branch> | Git branch to install | master |
If --domain and --email are omitted in a TTY, the CLI drops into interactive prompts.
deploykit update
Pulls the latest commit, rebuilds the images, and restarts the stack.
sudo deploykit updatedeploykit status
Lists running containers via docker compose ps.
deploykit statusdeploykit logs
Streams live logs from all services.
deploykit logsdeploykit restart
Restarts every DeployKit service.
sudo deploykit restartdeploykit uninstall
Stops the stack and removes the installation. Add --delete-data to wipe Postgres/Redis volumes and backups.
sudo deploykit uninstall --yes
sudo deploykit uninstall --yes --delete-dataAfter install
Dashboard: https://<your-domain>
Directory: /opt/deploykitMake sure an A record points your domain to the server's public IP — Traefik issues a Let's Encrypt cert on first request.
Development
git clone https://github.com/deploykithq/deploykit-cli.git
cd deploykit-cli
npm install
npm run dev -- install --help # run from source
npm run build # compile to dist/
npm run lint # tsc --noEmitThe CLI itself is pure Node (no shell scripts) so you can lint and build it from any OS, but the runtime ops (Docker, systemctl, apt-get) only succeed on Linux.
Publishing
npm login
npm version patch # or minor / major
npm publish --access publicprepublishOnly runs clean && build. The published tarball only includes dist/, README.md, and LICENSE.
