This is a short 'tutorial' by a newbie for a newbie. I've been trying to make the most of my GreenCloud Black Friday VPS and installed Fastpanel, which I posted about recently. I installed a WordPress multisite and Nextcloud, but it still had loads of redundant capacity, so I decided to install Docker.
Docker is available as a one-click application on Plesk as a one-click installation, and I wanted to utilise the easy reverse proxying functionality of Fastpanel (Cloudpanel also has it) as all the panels are pretty similar (NGINX-based). I decided to give it a go on Fastpanel, which also works on Cloudpanel (tutorials on their site) and other panels. Try to make sure they make the reverse proxy a bit easy (Runcloud, for example, don't), as you can't use NGINX proxy manager on Web Hosting Panels as Port 80 is in use.
I installed Fastpanel on an Ubuntu 24.04 panel.
Next, I installed Docker following the step-by-step instructions at:
https://docs.vultr.com/how-to-install-docker-on-ubuntu-24-04
The best docker management interface I have used is Portainer. It allows you to delay a handful of common apps using their one-click installer; you can also deploy from the vast array of apps from the docker hub (https://hub.docker.com). You can also deploy a 'stack' on Portainer using a Docker Compose file for more complex apps requiring persistent storage or databases.
Portainer is easy to install following the instructions at:
https://docs.portainer.io/start/install-ce/server/docker/linux
The installation is available at https://server_ip:9443. Make sure to add the https, accept the self-signed certificate and create an admin user.
I then pointed my domain 'portainer.example.com' to the server's IP address.
The next step depends on the panel, but it works on Fastpanel and Cloudpanel. I have not made it work on Runcloud despite following their online instructions. Create a reverse proxy app with the settings https://server_ip:9443. You do not need to create an additional database/FTP/SFTP user. Once the app is created, go to Settings->Static Content and turn off 'Use NGINX for static files.'
With the domain pointed (and the app appropriately proxied) in the app setup process, you can install an SSL certificate from the Fastpanel GUI and reach your site, in this example at 'https://portainer.example.com'
Portainer opens up so many options for deploying from the official Docker Hub and other great sources like https://linuxserver.io with some great Docker images, and Docker Compose files. I hope that some of you found this brief tutorial helpful.