Skip to content

Install

The dinio CLI, the TypeScript SDK and the Rust SDK are published to the Dinio package registry at https://git.bitelex.com/api/packages/dinio-public. It is public: installing needs no account and no token.

The CLI is a single static binary with no runtime dependencies. It runs on Linux (x86_64 and ARM64) and Windows (x86_64).

You use Install with
Debian, Ubuntu apt repository
Fedora, RHEL, Rocky, AlmaLinux, openSUSE rpm repository
Any other Linux tar.gz archive
Windows installer or zip
TypeScript or JavaScript npm registry
Rust Cargo registry

Every file of every version, with its SHA-256, is listed on the download page.

The package is the same for every Debian and Ubuntu release, for amd64 and arm64. Add the repository’s signing key and the repository once, then install:

Terminal window
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL https://git.bitelex.com/api/packages/dinio-public/debian/repository.key \
-o /etc/apt/keyrings/dinio.asc
echo "deb [signed-by=/etc/apt/keyrings/dinio.asc] https://git.bitelex.com/api/packages/dinio-public/debian stable main" \
| sudo tee /etc/apt/sources.list.d/dinio.list
sudo apt update
sudo apt install dinio
dinio --version

New versions arrive with your regular upgrades:

Terminal window
sudo apt update && sudo apt upgrade

To uninstall, remove the package and, if you like, the repository:

Terminal window
sudo apt remove dinio
sudo rm /etc/apt/sources.list.d/dinio.list /etc/apt/keyrings/dinio.asc

You can also download a single .deb from the download page and install it with sudo apt install ./dinio_<version>-1_amd64.deb — but then you upgrade by hand.

The package is for x86_64 and aarch64. Add the repository once, then install:

Fedora 41 and newer:

Terminal window
sudo dnf config-manager addrepo \
--from-repofile=https://git.bitelex.com/api/packages/dinio-public/rpm.repo
sudo dnf install dinio
dinio --version

Upgrade with sudo dnf upgrade dinio (sudo zypper update dinio); uninstall with sudo dnf remove dinio (sudo zypper remove dinio).

For any other distribution, or to install without root. Pick the version from the download page and use it without the v, e.g. 1.2.3:

Terminal window
VERSION=<version>
ARCH=x86_64 # or aarch64
BASE=https://git.bitelex.com/api/packages/dinio-public/generic/dinio/$VERSION
curl -fsSLO "$BASE/dinio-$VERSION-$ARCH-linux.tar.gz"
curl -fsSLO "$BASE/SHA256SUMS"
sha256sum --check --ignore-missing SHA256SUMS
tar -xzf "dinio-$VERSION-$ARCH-linux.tar.gz"
install -d ~/.local/bin
install -m 0755 "dinio-$VERSION-$ARCH-linux/dinio" ~/.local/bin/dinio
dinio --version

If dinio is not found, add ~/.local/bin to your PATH. The archive also holds shell completions in completions/.

To upgrade, repeat the steps with the new version. To uninstall, delete ~/.local/bin/dinio.

Download from the download page:

  • Installer — dinio-<version>-x86_64-windows-setup.exe. Installs for your user only, in %LOCALAPPDATA%\Programs\Dinio, needs no administrator rights and adds the directory to your PATH. Open a new terminal afterwards, then run dinio --version. Uninstall from Settings → Apps. To upgrade, run the installer of the new version.
  • Zip — dinio-<version>-x86_64-windows.zip. Extract it and put dinio.exe in a directory on your PATH.

The .deb and .rpm packages install completions for bash, zsh and fish — open a new shell and press Tab. With the tar.gz archive, copy the ones you need from its completions/ directory, or generate them; on Windows, generate the PowerShell one:

Terminal window
dinio completion bash > ~/.local/share/bash-completion/completions/dinio
dinio completion zsh > "${fpath[1]}/_dinio"
dinio completion fish > ~/.config/fish/completions/dinio.fish
dinio completion powershell >> $PROFILE

@dinio/sdk is in the Dinio npm registry, not on npmjs.com. Point the @dinio scope at it in your project’s .npmrc, next to package.json, then install as usual:

.npmrc
@dinio:registry=https://git.bitelex.com/api/packages/dinio-public/npm/
Terminal window
npm install @dinio/sdk

Only the @dinio scope is redirected — every other package still comes from npmjs.com. Commit .npmrc with your project, and CI installs from the same registry with no extra setup.

The SDK needs Node.js 20 or newer, or any runtime with fetch (Deno, Bun, Cloudflare Workers and other edge runtimes). Continue with the TypeScript SDK.

dinio-sdk is in the Dinio Cargo registry, not on crates.io. Add the registry once — in ~/.cargo/config.toml for your user, or in .cargo/config.toml of the project:

.cargo/config.toml
[registries.dinio-public]
index = "sparse+https://git.bitelex.com/api/packages/dinio-public/cargo/"

Then add the crate:

Terminal window
cargo add dinio-sdk --registry dinio-public

which writes to Cargo.toml:

Cargo.toml
[dependencies]
dinio-sdk = { version = "<version>", registry = "dinio-public" }

In CI you can skip the config file and set the registry in the environment instead:

Terminal window
export CARGO_REGISTRIES_DINIO_PUBLIC_INDEX="sparse+https://git.bitelex.com/api/packages/dinio-public/cargo/"

The SDK needs Rust 1.85 or newer, and its futures run in a Tokio runtime. Its API reference (rustdoc) is not on docs.rs: run cargo doc -p dinio-sdk --open in your project, or download dinio-sdk-<version>-doc.tar.gz from the download page and open doc/dinio_sdk/index.html. Continue with the Rust SDK.

Every version has a SHA256SUMS file with the checksum of each of its files. The apt and rpm repositories are signed, so this is for files you download by hand.

In the directory with the downloaded files:

Terminal window
curl -fsSLO https://git.bitelex.com/api/packages/dinio-public/generic/dinio/<version>/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS

Connect the CLI to your account with an API key — see Get started.