Skip to main content

Intuitive web interface for managing Docker containers.

Get a web interface for managing Docker containers with an emphasis on templating to provide easy deployments. The goal of Yacht is to make docker easy for anyone to use and manage. Templates, template variables, and an intuitive UI make that goal possible.

Please note: Yacht is still in alpha and stability is not guaranteed. Learn more on the Yacht GitHub.

Yacht Options

You can configure your Yacht App by providing values for the following fields:

FieldDescription
Yacht EmailThe email address for your Yacht login. The default is admin@yacht.localRequired.
Yacht PasswordThe password for your Yacht login. Required.
Yacht Compose SupportSupport for using Yacht with Docker Compose.
Yacht ThemeYacht theme options: Default, RED, and OMV.

Linode Options

After providing the App-specific options, provide configurations for your Linode server:

CONFIGURATIONDESCRIPTION
Select
an Image
Debian 11 and Ubuntu 22.04 LTS are supported by the Yacht Marketplace App, and it is pre-selected on the Linode creation page.
RegionThe region where you would like your Linode to reside. In general, it’s best to choose a location that’s closest to you. For more information on choosing a DC, review the How to Choose a Data Center guide. You can also generate MTR reports for a deeper look at the network routes between you and each of our data centers. Required.
Linode PlanYour Linode’s hardware resources. You can use any size Linode for your ServerWand app. The Linode plan that you select should be appropriate for the amount of data transfer, users, storage, and other stress that may affect the performance of server.
Linode LabelThe name for your Linode, which must be unique between all of the Linodes on your account. This name will be how you identify your server in the Cloud Manager’s Dashboard.
Root PasswordThe primary administrative password for your Linode instance. This password must be provided when you log in to your Linode via SSH. The password must meet the complexity strength validation requirements for a strong password. Your root password can be used to perform any action on your server, so make it long, complex, and unique.

Getting Started After Deployment

Access your Yacht App

  1. After Yacht has finished installing, you can access your Yacht instance by visiting your Linode’s IP address at port 8000 (for example, http://192.0.2.0:8000) in a web browser.

Caution: By default Yacht is not configured to use SSL, meaning that your login credentials will be sent over plain text. See Additional Steps for SSL for guidance on how to encrypt your connection.

  1. Enter your Yacht email address and password.



    You should see the Yacht administration panel.



    Yacht provides elegant theme customization, templating, easy management of Docker resources (volumes, images, network), applications and projects. View a live demo and documentation on the Yacht website.

Additional Steps for SSL

Since Yacht is not configured for SSL, some additional steps are required to encrypt your connection. The following example uses self-signed SSL certificates, but this can also work with a commercially signed or Let’s Encrypt certificates if the server is configured with a FQDN.

1. Login to the Linode’s IP over `ssh`. Replace `192.0.2.0` with your Linode’s IP address.

ssh root@192.0.2.0

2. Create two local directories for SSL and the modified `nginx.conf`.

mkdir -p local/nginx
mkdir local/ssl

3. Create the self-signed certificate and key.

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out yacht.crt -keyout yacht.key

You should see output similar to the following:

Generating a RSA private key
...............................................................................................................................................+
......................++++
writing new private key to 'yacht.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Pennsylvania
Locality Name (eg, city) []:Philadelphia
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:yacht.local
Email Address []:admin@yacht.local

4. Move the newly generated certificate and key into the `local/ssl` directory.

5. Dump the Yacht `nginx.conf` to the `local/nginx` directory.
docker exec -it yacht /bin/sh -c "cat /etc/nginx/nginx.conf" > local/nginx/nginx.conf

6. Open the local/nginx/nginx.conf file using vim or another text editor of your choice and locate the server block for port 8000 (around line 30).

7. Copy `local/nginx/nginx.conf` and `local/ssl` to the `/etc/nginx/` directory in the Yacht container, and then reload Nginx.

docker cp local/nginx/nginx.conf yacht:/etc/nginx/
docker cp local/ssl yacht:/etc/nginx/

# remove ^M characters
docker exec -it yacht /bin/sh -c "sed -ie 's/\r//g' /etc/nginx/nginx.conf"

# reload nginx
docker exec -it yacht /bin/sh -c "nginx -s reload"

Your browser may give warnings because the certificate is not signed by a Certificate Authority, and require you to add a security exception, but the connection is now encrypted.

Please note: Yacht is still in alpha and is not recommended for production use. Learn more on the Yacht GitHub.

The Yacht Marketplace App was built for Linode by Selfhosted Pro For support regarding app deployment, contact Linode Support. For support regarding the tool or software itself, use the information in the sidebar to contact Selfhosted Pro.