Installation
updock ships as a single static binary with no runtime dependencies (besides Docker itself, which you already have). Pick whichever method fits your setup.
Recommended: Homebrew on macOS/Linux,
go installif you have a Go toolchain, or a prebuilt binary from the releases page for everyone else.
Quick install
Pick the tab for your platform:
brew install amrelsagaei/tap/updockgo install github.com/amrelsagaei/updock/cmd/updock@latestnpm install -g updock
# or run it once, without installing:
npx updock postgres# download updock_*.deb from the releases page, then:
sudo dpkg -i updock_*.deb# download updock_*.rpm from the releases page, then:
sudo rpm -i updock_*.rpm# download updock_windows_<arch>.zip from the releases page,
# extract updock.exe, and add it to your PATH.After installing, confirm it works and check your environment:
updock version
updock doctormacOS
Homebrew
brew tap amrelsagaei/tap
brew install updockUpgrade and uninstall:
brew upgrade updock
brew uninstall updockIf macOS Gatekeeper flags the binary on first run, the Homebrew install removes the quarantine attribute automatically. For a manually downloaded binary, see Manual download below.
Linux
| Method | Install | Notes |
|---|---|---|
Debian / Ubuntu (.deb) | sudo dpkg -i updock_*.deb or sudo apt install ./updock_*.deb | from the releases page |
| RPM (Fedora / RHEL) | sudo rpm -i updock_*.rpm | from the releases page |
Windows
Download the updock_windows_<arch>.zip from the releases page, extract updock.exe, and put it on your PATH. updock drives the docker CLI, so make sure Docker Desktop is installed and running.
go install
go install github.com/amrelsagaei/updock/cmd/updock@latestThis compiles from source straight into your Go bin directory. No release tooling required, so it always tracks the latest tagged version.
PATH note.
go installputs binaries in$GOBIN, or$(go env GOPATH)/binifGOBINis unset (default$HOME/go/bin). Ifupdock: command not found, add that directory to yourPATH:bashexport PATH="$PATH:$(go env GOPATH)/bin"
npm
npm install -g updock # global install
npx updock postgres # or run once without installingThe npm package is a thin launcher that downloads the matching prebuilt binary for your platform.
Manual download
Download the archive for your OS and architecture from the releases page (
updock_<os>_<arch>.tar.gz, or.zipon Windows).Verify it (see Verifying a download).
Extract and move the binary onto your
PATH:bashtar -xzf updock_*.tar.gz sudo mv updock /usr/local/bin/ chmod +x /usr/local/bin/updock
Verifying a download
Every release ships a checksums.txt, a cosign signature, and a certificate. Signing is keyless through GitHub Actions OIDC, so there are no long-lived keys.
cosign verify-blob \
--certificate checksums.txt.pem \
--signature checksums.txt.sig \
--certificate-identity-regexp 'https://github.com/amrelsagaei/updock' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
checksums.txtThen check your archive against the verified checksums:
sha256sum -c checksums.txt --ignore-missingA software bill of materials (SBOM) is attached to every release as well.
Shell completion
updock generates completion scripts for bash, zsh, fish, and PowerShell:
# bash
updock completion bash | sudo tee /etc/bash_completion.d/updock > /dev/null
# zsh (ensure compinit is loaded)
updock completion zsh > "${fpath[1]}/_updock"
# fish
updock completion fish > ~/.config/fish/completions/updock.fishRun updock completion --help for per-shell details.
Upgrading
Use the same channel you installed from: brew upgrade updock, go install ...@latest, your package manager's update command, or download a newer binary.
Uninstalling
brew uninstall updock # Homebrew
sudo apt remove updock # apt
rm "$(command -v updock)" # manual / go installupdock keeps your projects in ~/updock/ and config in ~/.config/updock/. Remove those directories too if you want a clean slate (this deletes your generated Compose files and .env files).