docker-gui is a local desktop UI for Docker Engine (containers, images, volumes, and compose stacks).
It is intended for teams that want a Docker Desktop-style daily workflow while connecting directly to a local Docker Engine daemon.
docker-gui can replace common day-to-day Docker Desktop UI tasks:
- Browse and manage containers
- Pull/remove images
- Create/remove volumes
- View and operate compose stacks
- Stream logs
docker-gui does not replace all Docker Desktop platform features. It is a focused Docker Engine UI.
- Frontend: Angular
- Desktop shell: Tauri
- Backend runtime: Rust + Docker Engine API (
bollard) - Compose operations: executed via local
docker compose/docker-composeCLI
- Docker Engine available locally (for example via Colima on macOS, Docker Engine on Linux, or WSL Docker Engine on Windows)
- Node.js version from
.nvmrc pnpm- Rust toolchain (for Tauri desktop runs/builds)
macOS users: Homebrew is the recommended package manager for installing prerequisites.
cargo is installed as part of the Rust toolchain.
Windows (WSL):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
cargo --versionmacOS (Homebrew-first):
brew install node pnpm rustup-init
rustup-init -y
source "$HOME/.cargo/env"
cargo --versionAlso install Apple command line build tools if missing:
xcode-select --installUbuntu:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
cargo --versionIf you installed Rust in a previous shell, open a new terminal (or run source "$HOME/.cargo/env") before running pnpm tauri build.
Install required native packages before running Tauri build/dev commands:
sudo apt-get update
sudo apt-get install -y \
libgtk-3-dev \
libwebkit2gtk-4.1-dev \
libsoup-3.0-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
patchelf- Install dependencies
pnpm install- Run web UI (frontend only)
pnpm run start- Run desktop app (recommended for real usage)
pnpm run tauri:devBuild:
pnpm run buildUnit tests:
pnpm run test -- --watch=falseOr use the unified helper:
scripts/dev-cycle.sh check- Start your Docker Engine (example:
colima starton macOS). - Start
docker-gui(pnpm run tauri:devfor local development). - Open Settings and verify detected Docker connection/socket path.
- Use Containers / Images / Volumes / Compose views for normal operations.
- Keep CLI workflows (
docker,docker compose) for advanced or unsupported scenarios.
src/: Angular UIsrc-tauri/: Rust/Tauri backend and Docker command integrationsdocs/: architecture, implementation notes, and roadmap plans
- Compose control requires a working compose binary in
PATH. - If Docker is not reachable, the app will show disconnected status and command failures until the engine is available.
- Tauri v2 validates
src-tauri/tauri.conf.jsonagainst the v2 schema. app.windows[].iconis not valid in v2 and causes:Additional properties are not allowed ('icon' was unexpected)
- Define app icons under
bundle.iconinstead (already configured in this repo).