Skip to content

About

Contr for Linux (Fedora, Ubuntu): GTK4 and libadwaita desktop client

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Contr for Linux

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.

Status

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.

Stack

  • 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 -api crate, checked by cargo xtask archlint. See docs/architecture.md.
  • Packages: contr as a .deb (Ubuntu 26.04) and .rpm (Fedora 44), depending on the daemon's contr-daemon package; see docs/development.md. A beta Flatpak talks to the same host daemon.

Install

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 contr

Fedora:

sudo curl -fsSo /etc/yum.repos.d/contr-stable.repo https://contr-hq.github.io/contr-packages/rpm/contr-stable.repo
sudo dnf install contr

Every 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.

Building

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-desktop

License

Apache-2.0. Docker is a trademark of Docker, Inc.; Contr is not affiliated with or endorsed by Docker, Inc.

About

Contr for Linux (Fedora, Ubuntu): GTK4 and libadwaita desktop client

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages