GTK4 and libadwaita desktop client for Contr on Fedora and Ubuntu. It talks to the
contrd daemon only through the contr-sdk crate, over the daemon's per-user Unix socket.
The application shell (window, sidebar navigation, engine card and gate, primary menu, tray icon) and the Containers section with each container's logs, inspection, terminal and stats, the Run dialog, Images with pulls, Volumes, Networks, Compose, Kubernetes, Troubleshoot, Preferences and first-run onboarding.
- Rust, relm4 with libadwaita (GNOME 49 or later: GTK 4.20, libadwaita 1.8), vte4 for the exec terminal, ksni for the tray.
- Modules mirror the Windows client; a module reaches another only through its
-apicrate, checked bycargo xtask archlint. See docs/architecture.md. - Packages:
contras a .deb (Ubuntu 26.04) and .rpm (Fedora 44), depending on the daemon'scontr-daemonpackage; see docs/development.md. A beta Flatpak talks to the same host daemon.
The signed repositories at https://contr-hq.github.io/contr-packages/ hold contr and the contr-daemon package it
depends on; stable has releases, testing prereleases too.
Ubuntu:
sudo curl -fsSo /usr/share/keyrings/contr.gpg https://contr-hq.github.io/contr-packages/contr.gpg
echo "deb [signed-by=/usr/share/keyrings/contr.gpg] https://contr-hq.github.io/contr-packages/apt stable main" |
sudo tee /etc/apt/sources.list.d/contr.list
sudo apt update && sudo apt install contrFedora:
sudo curl -fsSo /etc/yum.repos.d/contr-stable.repo https://contr-hq.github.io/contr-packages/rpm/contr-stable.repo
sudo dnf install contrEvery package of a release carries a GitHub build attestation naming the workflow and commit that built it, and
contr-packages signs the repositories, the RPMs and each release's SHA256SUMS.
Verifying downloads shows how to check them, and the
code signing policy says what is signed and by
whom.
Install the GTK, libadwaita and VTE development packages, then build with Cargo. See docs/development.md for running the client against a fake or real daemon.
# Fedora
sudo dnf install gcc pkgconf-pkg-config gtk4-devel libadwaita-devel vte291-gtk4-devel
# Ubuntu
sudo apt install build-essential pkg-config libgtk-4-dev libadwaita-1-dev libvte-2.91-gtk4-dev
cargo run -p contr-desktopApache-2.0. Docker is a trademark of Docker, Inc.; Contr is not affiliated with or endorsed by Docker, Inc.