Installation
DockIY needs:
- a Linux server with a public IP address and SSH access
- a computer where you can run Docker and the DockIY CLI
1. Set up DNS
At your DNS provider, point each hostname you will use to your server's public IP address. For example:
| Hostname | Record | Value |
|---|---|---|
example.com | A | your server's IPv4 address |
umami.example.com | A | your server's IPv4 address |
dozzle.example.com | A | your server's IPv4 address |
beszel.example.com | A | your server's IPv4 address |
You may also use a single wildcard A Record for subdomains.
2. Prepare the server
Allow incoming TCP traffic on ports 22, 80, and 443 in your hosting provider's firewall. Connect to the server as root:
ssh root@your-serverDebian-based distributions
Install Docker Engine and Docker Compose by following the instructions for your distribution:
Then install rsync and start Docker:
apt update
apt install -y rsync
systemctl enable --now dockerCreate the deployment user with a home directory and give it Docker access (any user name works):
adduser dockiy
usermod -aG docker dockiyAdd your computer's public ssh key to the server to get passwordless SSH access by following the Ubuntu SSH key instructions.
Verify the installation from your computer:
ssh dockiy@your-server 'docker compose version && rsync --version | head -n 1'Docker access
Membership in the docker group gives root-level control of the server. Only add trusted users.
Other Linux distributions
Other distributions work. Follow your distribution's instructions for installing Docker, Docker Compose, and rsync, then create the dockiy user and give it Docker access as shown above.
See the rsync download and installation information for other ways to install rsync.
3. Prepare your computer
Install these tools on the computer where you will run DockIY. Use the instructions for your operating system:
- Docker, including Docker Compose
- Git
- SOPS
- age (only needed to create an age identity)
- an OpenSSH client and rsync, if they are not already installed
SOPS identity
Already have an SSH key? SOPS uses ~/.ssh/id_ed25519 or ~/.ssh/id_rsa automatically; no conversion or additional identity setup is needed. Select its public recipient for the getting-started commands:
export SOPS_RECIPIENT="$(cat ~/.ssh/id_ed25519.pub)" # or ~/.ssh/id_rsa.pubAlternatively, create an age identity once:
mkdir -p ~/.config/sops/age
age-keygen -o ~/.config/sops/age/keys.txt
export SOPS_AGE_KEY_FILE="$HOME/.config/sops/age/keys.txt"
export SOPS_RECIPIENT="$(age-keygen -y "$SOPS_AGE_KEY_FILE")"Run the getting-started commands in the same shell. Keep private keys out of Git and off the server, and back them up securely. See SOPS age and SSH identities for default paths and custom identities. For other SOPS identities, pass your existing rules with --sops-config /path/to/.sops.yaml instead of --sops.
4. Install the DockIY CLI
Prebuilt binaries are available for Linux, macOS, and Windows on AMD64 and ARM64. Download the latest version for your platform from the Codeberg releases page or the Forgejo releases page. Rename it to dockiy (dockiy.exe on Windows), and put it somewhere on your PATH, such as ~/.local/bin. On Linux and macOS, make the file executable with chmod +x dockiy.
Then check it:
dockiy --helpContinue with Get started.
