Installation
Install Dockyrd on a fresh VPS with a single command. The installer is idempotent: running it again repairs or upgrades an existing install.
Requirements
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| Memory | 1 GB (installer adds 2 GB swap) | 4 GB for Next.js builds |
| Disk | 10 GB free | 40 GB+ |
| OS | Ubuntu 22.04 / 24.04, Debian 12 / 13 · x86_64 or arm64 | |
| Ports | 80, 443 and 8000 free | |
Install
Run this as root on the server:
curl -fsSL https://raw.githubusercontent.com/Joeydekruis/dockyrd/development/scripts/install.sh | sudo sh
The script will:
- Check the OS, architecture, ports and free disk space.
- Install Docker Engine from Docker's official repository if it is missing (version 27 or newer is required).
- Set log rotation and
live-restorein/etc/docker/daemon.json, merging with what is already there. - Download the release tarball, verify its checksum, and install
dockyrdto/usr/local/bin/dockyrdplus the API clientdyto/usr/local/bin/dy. - Run
dockyrd init, start the proxy and BuildKit containers and enable the systemd service. - Open ports 22, 80, 443 and 8000 if
ufwis active.
When it finishes you see a setup link:
✓ Dockyrd v0.1.0 is running. Open: http://203.0.113.10:8000/setup?token=8f3k-29xq-a71m Token is valid for 60 minutes and can be used once. Lost it? sudo dockyrd setup-token
Keep the setup link private. Whoever uses the token first becomes the owner of the instance. Without a valid token nobody can claim it.
Installer flags
Pass flags after sh -s --:
curl -fsSL https://raw.githubusercontent.com/Joeydekruis/dockyrd/development/scripts/install.sh | sudo sh -s -- --version v0.1.2 --dashboard-domain dockyrd.example.com
| Flag | Effect |
|---|---|
--version vX.Y.Z | Install a specific release. |
--channel stable|beta | Choose the release channel. Default is stable. |
--no-docker-install | Fail instead of installing Docker. |
--dashboard-domain | Serve the dashboard on a domain with HTTPS right away. |
--force | Continue on an unsupported OS. |
First-time setup
Open the setup link and the wizard asks for three things:
- Owner account. Name, email and a password of at least 12 characters.
- Instance. An optional dashboard domain, the email used for Let's Encrypt, and an optional wildcard domain for apps.
- GitHub. Optional. You can connect a GitHub App now or later from Settings.
Uninstall
The uninstall script stops the service and removes the platform containers. It asks before touching your own containers, volumes or data, and keeps them by default.
curl -fsSL https://raw.githubusercontent.com/Joeydekruis/dockyrd/development/scripts/uninstall.sh | sudo sh