Skip to main content

Yacht - a WebUI for Docker Management

If you're already into self-hosting, and home-labbing (yes, I just made that word up I think), then you have probably used docker at some point.  If you have, and you haven't heard of the great tools out there for Graphical User interface based management of your docker applications, then you are in luck.  This article and video show you a really amazing, open source, self hosted tool called Yacht. It's whole purpose is to help you install and manage docker applications through a clean, beautiful, intuitive graphical user interface.

If you've ever heard of or used Portainer, then you'll have some idea about what Yacht does.  Yacht is similar to portainer in many ways, but it differs in that it really wants to put a focus on being a GUI tool that works on top of the amazingly good CLI (command line interface) tools that are already out there for docker (e.g. docker-compose).  

What You'll Need

  • Docker installed on the machine or server you want to use.
  • Docker-compose installed on the machine or server you want to use.
  • About 10 minutes of your time

Install Docker, Docker-CE the easy way

You can easily install Docker-CE, Docker-Compose, Portainer-CE, and NGinX Proxy manager by using this quick install script I created and maintain on Gitlab.  Just use the command:

wget https://gitlab.com/bmcgonag/docker_installs/-/raw/main/install_docker_nproxyman.sh

To download the script to your desired host machine.

Change the permissions to make the script executable:

chmod +x ./install_docker_nproxyman.sh

and then run the script with the command:

./install_docker_nproxyman.sh

When run, the script will prompt you to select your host operating system, then will ask you which bits of software you want to install.

Simply enter 'y' for each thing you want to install.

At some point, you'll be asked for your super user (sudo) password as well.

Allow the script to complete installation.

At this point, you might want to log out and back in, as this will allow you to use the docker and docker-compose commands without the need of sudo in front of them.

Install Yacht

Docker Compose for Yacht

SSH or open a terminal (CLI) window on yoru host machine.  If you don't already have one, create a new "docker" folder.  I put mine right in my home directory on my server.

mkdir docker

Now, cd into that folder, and create a folder for our Yacht install.

cd docker

mkdir yacht

Now cd into the Yacht folder we just created, and create a new file with the nano text editor (or any text editor you like) called "docker-compose.yml".

cd yacht

nano docker-compose.yml

Next, copy the docker-compose code below, and paste it into the text editor. You can copy and paste in the Linux CLI with CTRL+Shift +C, and CTRL + Shift + V respectively.

version: "3"
services:
  yacht:
    container_name: yacht
    restart: unless-stopped
    ports:
      - 8000:8000
    volumes:
      - ./yacht:/config
      - /var/run/docker.sock:/var/run/docker.sock
    image: selfhostedpro/yacht

The only change you might wnat to make in the file above, is the port mapping.  You can change the port number on the left side of the colon ":" to another number if your system is already using port 8000 for a different application.  Just remember what port number you choose.  I set mine to 8016 in the video.

Now, save the file with CTRL + O, then press Enter to confirm, and use CTRL + X to exit the nano editor.

FInally, we can run our Yacht install with the command:

docker-compose up -d

You can see if the download and install went well, after you get the "done" message in the terminal window.  Use the command

docker-compose logs -f

to view the logs for the yacht container.

If you don't see any errors, then you should be able to open a browser window and start going to the address of you host machine, and the port you set in the docker-compose file.

In my case my host ip is 192.168.10.141 and I changed the port from 8000 to 8016.  So, I went to

http://192.168.10.141:8016

You, should of course visit your own host IP and port.

You should see the Yacht login screen. The default login credentials are:

username: admin@yacht.local

password: pass

You should login, then change these by clicking the little down arrow to the right of the user in the upper right of the window, and select user profile, then Change Password.

Once you've changed the user email and password, you should logout, and log back in to make sure your new credentials are working.

Now, you can begin to explore all of the features of Yacht.  Check out my video to see all of the great things you can do with Yacht.

Support My Channel

Support my Channel and ongoing efforts through Patreon: https://www.patreon.com/bePatron?u=234177