This is a fork of Whaler by sdv43. This fork ports that project to GTK4 and libadwaita and adds some features.
Pilot Whale provides basic functionality for managing Docker containers. The app can start and stop both standalone containers and docker-compose applications. Also, it supports container logs viewing.
It can also search images from DockerHub and pull images from anywhere.
The solution is perfect for those who are looking for a simple tool to perform some basic actions. For the app to run correctly, make sure that Docker is installed on your system.
This app is only officially packaged for Flatpak, you can download the latest flatpak package in the releases.
To install it, simply do:
flatpak install pilot-whale-VERSION-ARCH.flatpakThis app has access to your Docker and Podman sockets by default
- Open Pilot Whale
- An error could appear (docker not detected), ignore it
- Click on the hamburger menu -> Preferences
- Replace the
API socket pathwith something like/run/user/1000/podman/podman.sock
Development should be done in a devcontainer.
All dependencies are already present in the devcontainer.
-
The socket at
/var/run/docker.sockmust have its permissions set to1000:docker. -
You also need to enable xhost local connection with
xhost +local:docker -
To be able to test hyperlink in the app you can run
just install-test-browserin the devcontainer
- Get VSCode, Docker and the devcontainer VSCode extension
- Open the project and run
Dev Containers : Rebuild Container - You can launch premade tasks from the VSCode task menu, this includes tasks for build and running the app.
- Get devcontainer-cli from linuxbrew, the aur or npm
- If you want to use your own VIM config uncomment
Mounts for VIM config filein devcontainer.json - From the project root run:
devcontainer up --workspace-folder $(pwd) && devcontainer exec --workspace-folder $(pwd) bash- You can now run vim or install another editor
- You can launch premade tasks with
just --choose, this includes tasks for build and running the app.
No need to manually download them if you use the devcontainer
- gio-2.0
- gtk4-devel
- libgee-devel
- gdk-pixbuf-2.0
- json-glib-devel
- libcurl
- libadwaita-1
- posix
- meson
- ninja
- valac
You can also get these recommended, but optional tools for running tasks, code completion and generating doc:
- just
- fzf
- valadoc
- vala-language-server
You will also need to get Docker for testing
sudo dnf install gtk4-devel ninja-build meson libadwaita-devel libgee-devel json-glib-devel desktop-file-utils libcurl-devel vala vala-language-server valadoc graphviz libglvnd just fzfI recommand using paru or yay
paru -Syu gtk4 ninja meson libadwaita libgee json-glib desktop-file-utils curl libglvnd vala-language-server vala docker just fzfAll the command must be ran from the project root
Requires just
Bild the project for the first time:
just init-build
Run ninja and launch the app
just ninja-run
(Re)install the app
just install
A pre-generated version of the doc is available here
just generate-valadoc
Requires docker and an internet connection
just run-tests
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

