Skip to content

ropali/dockyard

Repository files navigation

Dockyard is a modern, fast, and user-friendly Docker client designed to simplify container management on Linux. Built with Rust + Tauri and React.js, Dockyard offers a sleek interface and powerful features, making it easier than ever to work with Docker containers.

GitHub Release release built_with-Rust

Debian Support Fedora Support AppImage Support MacOS Support Windows Support

Key Features

  • Intuitive UI: A clean and simple interface designed for both beginners and advanced users.
  • Real-time Stats: Monitor container stats in real-time with beautiful charts and graphs.
  • Container Management: Easily start, stop, and remove containers with just a few clicks.
  • Docker Compose Integration: Containers created with Docker Compose are automatically grouped by project and displayed in collapsible dropdowns.
  • Terminal inside container: Open shell inside the docker container using your favourite terminal app.
  • Log Viewer: Integrated log viewer for real-time container logs with PatternFly support.
  • Fast Performance: Built with Rust for speed and reliability.
  • Multi Themes: Many themes to choose from.

Screenshots

Containers Stats Different Theme

Installation

Prerequisites

  • Linux/Mac
  • Tauri (for development and building from source)
  • Docker >=27.1.1 installed and running
  • Node.js >= v20.11.1 (for development and building from source)
  • Rust >= 1.79.0 (for building from source)

Install Dockyard

You can download the latest release from GitHub Releases and install it using the following commands:

Using .deb file

# Download the latest .deb package
wget https://github.com/ropali/dockyard/releases/download/vX.Y.Z/dockyard_X.Y.Z_amd64.deb

# Install the package
sudo dpkg -i dockyard_X.Y.Z_amd64.deb

# If there are missing dependencies, run
sudo apt-get install -f

Using AppImage file

# Download the latest release
wget https://github.com/ropali/dockyard/releases/download/vX.Y.Z/dockyard-X.Y.Z.AppImage

# Make it executable
chmod +x dockyard-X.Y.Z.AppImage

# Run Dockyard
./dockyard-X.Y.Z.AppImage

MacOS Installation Issue

Note

Due to Apple's security policies, software without developer certification cannot be installed directly. To bypass this restriction, follow these steps:

  • Click the Cancel button

  • Go to System Preferences -> Security & Privacy

  • Click Open Anyway, and then click Open in the pop-up window.

If your system version is higher, you may not find the above options on the Security & Privacy page, or it may prompt that the file is damaged when you start it. then, you can bypass via terminal:

  • Open the terminal and execute the following command to authorize.
sudo xattr -d com.apple.quarantine /Applications/dockyard.app/

Build from Source

To build Dockyard from source, follow these steps:

# Clone the repository
git clone https://github.com/ropali/dockyard.git
cd dockyard

# Install dependencies
npm install

# Build the Rust backend
cargo build --release

# Run the app in development mode
npm run tauri dev

Usage

Dockyard is designed to be simple and intuitive. Once installed, launch the application and start managing your Docker containers, volumes, and networks.

Docker Compose Support

Dockyard automatically detects containers created with Docker Compose and provides enhanced management features:

  • Project Grouping: Containers from the same Docker Compose project are grouped together
  • Service Information: Each container shows its service name from the docker-compose.yml file
  • Collapsible Groups: Click on a project group to expand/collapse and view individual containers
  • Bulk Operations: Use the "Compose" button in the top bar to expand/collapse all Docker Compose groups at once
  • Status Overview: Each group shows the number of running containers vs total containers

How it Works

Dockyard identifies Docker Compose containers by looking for the com.docker.compose.project label that Docker Compose automatically adds to containers. This allows for:

  • Automatic project detection without manual configuration
  • Support for multiple Docker Compose projects
  • Proper service name display using the com.docker.compose.service label

Contributing

We welcome contributions from the community! To get started:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes.
  4. Commit your changes (git commit -am 'Add YourFeature').
  5. Push to the branch (git push origin feature/YourFeature).
  6. Open a Pull Request.

Development Setup

To set up a development environment:

  1. Clone the repository: git clone https://github.com/ropali/dockyard.git
  2. Navigate to the project directory: cd dockyard
  3. Install Node.js dependencies: yarn install
  4. Build the Rust backend: cargo build --release
  5. Run the app in development mode: npm run tauri dev

Roadmap

  • Windows and macOS Support: Extend Dockyard to support more operating systems.
  • Advanced Container Management: Add features like container resource limits and custom network configurations.
  • Adavanced image management: Add more operations related to image management.

License

Dockyard is licensed under the MIT License.

Acknowledgements

  • Built with Tauri, React.js, and Rust.
  • Inspired by my personal itch of creating a beautiful Docker Client(especially for Linux).

Community

Follow me on Twitter/X for updates and discussions.

Support

If you encounter any issues, please report them on GitHub Issues page.

About

A fast & beautiful Docker GUI client

Topics

Resources

License

Stars

Watchers

Forks

Contributors 6

Languages