简体中文 | English
Vessel is an ultra-minimalist, amphibious desktop Docker management client crafted for modern developers. Optimized specifically for WSL (Windows Subsystem for Linux) and featuring comprehensive multi-node remote SSH deployment, Vessel delivers a featherlight, blazing-fast, and distraction-free container management experience.
- Geek Aesthetic: Dark futuristic visual design eliminating redundant abstractions of traditional desktop software, focusing purely on real-time container metrics and smooth ergonomics.
- Amphibious Integration: Built-in local WSL pipe bridging alongside remote multi-node SSH engines. Effortlessly pivot between local development environments and remote servers within a unified UI.
- Secure Updates: Fully signed end-to-end auto-update pipeline supporting hot-updates and instant one-click restarts.
- Amphibious Docker Engine Switching:
- WSL Pipe Sideloading: Automatic detection and direct streaming communication via
wsl docker system dial-stdiowith host Linux subsystems (e.g., Ubuntu, Debian) without port forwarding. - Remote SSH Connections: Store and manage SSH credentials for multiple remote Linux hosts; activate and switch engines with a single click from the sidebar.
- Docker Desktop Compatibility: Fully compatible with native Windows Named Pipe connections.
- WSL Pipe Sideloading: Automatic detection and direct streaming communication via
- Docker Compose Project-Level Management:
- Automatically discover and orchestrate multi-container Compose projects.
- One-click Up / Down / Restart with real-time YAML editing.
- Granular Container Monitoring:
- Real-time system load metrics (interactive charts for CPU, Memory, Network I/O, and Disk I/O).
- Interactive Terminal (quick switching between normal user and root) alongside real-time live log streams.
- Image & Registry Management:
- Image listing, rapid pull, and one-click pruning.
- Rapid configuration and persistent storage for third-party image mirrors and private Harbor registries.
- Signed In-App Hot Updates:
- Integrated native update detection showing cloud changelogs and release dates.
- Glowing gradient progress indicator and seamless one-click relaunch upon installation.
- Automated CI/CD Releases:
- Full GitHub Actions pipeline building, signing, and deploying tagged releases automatically.
- Backend: Rust + Tauri v2 (Multi-platform desktop framework)
- Docker Engine Driver: Bollard
- Auto Update:
tauri-plugin-updater&tauri-plugin-process - Frontend: Vue 3 + TypeScript
- UI Components: Naive UI + @vicons/ionicons5
- State Management: Pinia
- Data Visualization: Apache ECharts (bridged with vue-echarts)
- Configuration Persistence:
tauri-plugin-store(Lightweight flat key-value persistence)
-
Clone the repository
git clone https://github.com/mangerle/vessel.git cd vessel -
Install dependencies
npm install
-
Start development mode
npm run tauri dev
-
Build release package
npm run tauri build
This project integrates standard-version and GitHub Actions for an automated versioning and cloud release pipeline.
To release a new version locally:
-
Bump version: Run the following command in the project root:
npm run release
This command automatically:
- Scans commits following Conventional Commits to calculate the next semantic version.
- Synchronizes version numbers across
package.json,src-tauri/tauri.conf.json, andsrc-tauri/Cargo.toml. - Creates a local Git commit and tags it (e.g.,
v0.1.4).
Tip: To specify a version manually, use:
npm run release -- --release-as 0.1.5
-
Push tags to trigger CI:
git push --follow-tags
When GitHub receives a new tag push, .github/workflows/release.yml triggers automatically:
- Categorized Changelog Generation: CI parses commit history via
git-cliffto generate categorized release notes automatically. - Artifact Packaging & Upload: Automatically builds, signs, and publishes installation packages to the repository Releases.
Vessel adopts a dedicated WSL Bridging Mode. On Windows, instead of connecting over raw TCP ports, it communicates with the Linux Docker daemon via wsl docker system dial-stdio. This provides enhanced security, reduced latency, and resolves permission boundaries naturally. In remote mode, it establishes direct bidirectional streaming to the Docker socket over SSH, enabling an agentless multi-node container management experience.
This project is open-sourced under the MIT License.