The purpose of this training is to facilitate the setup, management, and maintenance of a self-hosted personal website and related services.
Required equipment
In my case, I chose to have an authoritative domain name server, but this is not mandatory.
The SNI reverse proxy is only necessary if you want to have several virtual machines (or containers) sharing the same public IPv4 address.
As can be seen in the diagram, IPv6 is easier to configure than when you only have one public IPv4 address.
I recommend installing a hypervisor (Proxmox) to host the virtual machines or containers for the website and associated services. It is possible to use a hypervisor other than Proxmox, such as virt-manager, VirtualBox, etc.
In any case, it is preferable to configure the network in bridge mode to avoid having to manage NAT redirection.
Proxmox uses bridges by default, which suits our needs.
Yunohost can be installed in two ways in Proxmox: as a virtual machine or as a container. This will depend on your process isolation requirements.
I recommend installing Yunohost as a container, but if you want to install it as a virtual machine, instructions are available here: Yunohost as a virtual machine
Yunohost is installed in an existing container:
Yunohost is based on Debian, so I install a Debian container:
(documentation: https://pve.proxmox.com/wiki/Linux_Container#pct_container_images)
Here are some commands to run as root in the Proxmox terminal to add the container images:
pveam update
(updates the list of available container images)
pveam available --section system | grep debian
(displays the list of Debian containers only)
pveam download local debian-12-standard_12.7-1_amd64.tar.zst
(downloads the latest available Debian image)
cd /root apt update wget install.yunohost.org -O install.yunohost.sh chmod +x install.yunohost.sh /root/install.yunohost.sh
Once the basic installation is complete, simply go to the web browser to continue. Or type ‘yunohost tools postinstall’ in the command line.
Once the domain name is registered, you just need to generate the certificate on the Yunohost/admin side.
Choose from:
Keep in mind that NAT issues do not exist in ipv6 (unless you have CGNAT, but in that case I recommend changing your Internet service provider).
In ipv6, the machine is directly connected to the Internet, with all ports exposed on the public IP (which starts with 2).
Yunohost is capable of backing up applications, but it does not back up itself. That's why I use Yunohost in a virtual machine (or container) and have Proxmox perform the backup.
However, a backup should not remain on the same hard drive as its source and should be stored in a different geographical location.
In our case, using a second hard drive would already be a good solution.