Self-hosting solution YunoHost for the private cloud
With Simple Means
YunoHost offers a wide range of services on a proven Debian platform that you can host yourself.
YunoHost [1] is a Linux distribution that offers a basic server platform with single sign-on for hosting web, mail, XMMS, and several dozen other services. According to the project website, YunoHost's goal is to provide "…a server operating system aimed at making self-hosting accessible to everyone."
YunoHost comes with the nginx web server, MariaDB, mail transfer agent Postfix, and the IMAP server Dovecot, including the Rspamd spam filter. The Metronome IM XMPP server, OpenLDAP, Dnsmasq, and the SSOwat transparent authentication system for single sign-on are also available, as is Let's Encrypt for creating SSL certificates.
YunoHost also provides a community repository of validated helper scripts to install other services and applications. The repository, which is hosted on GitHub, provides customized versions of the applications preconfigured to integrate into YunoHost's single sign-on environment.
YunoHost is similar to other personal server systems, such as FreedomBox [2], Sandstorm [3], UBOS [4], or the recently discontinued arkOS. All of these projects have the goal of letting the user operate a server and install web services in the easiest possible way.
YunoHost is based on Debian and is available for download for the i386, AMD64, PowerPC, and ARM architectures. A demo site [5] lets you test the user interface in advance.
Well Equipped
The range of official apps for various web services includes 21 packages [6], which you can install with just one click. This list encompasses well-known services such as WordPress, Nextcloud, Roundcube, and DokuWiki, as well as lesser known tools such as the Baikal [7] CardDAV server, the RainLoop [8] webmail application, and the ZeroBin [9] encrypted paste service.
The list of unofficial apps [10] developed and maintained by the community is much longer: It includes around 100 programs, such as a sync server for Firefox [11], the Gogs [12] Git service, the Jenkins [13] CI server, Mattermost [14] as an alternative to Slack, the Piwigo[15] photo gallery, and many more.
But that's not the end: The Apps in Progress section offers several apps you can test, but without any guarantees.
Which Platform?
YunoHost will run on the Raspberry Pi 3, and even on earlier versions of the Rasp Pi. On the small scale of a home network, the Rasp Pi might be satisfactory, but if you are concerned about performance and throughput, the limits of the Rasp Pi are quickly evident. You can also install YunoHost on a local computer (see the "Installing on Your PC" box) or on a VServer with a professional hosting service provider. If Debian is already running on the computer on the base system, you can use a script to set up YunoHost [16].
Installing on Your PC
To install under VirtualBox or on a 32- or 64-bit PC, download the appropriate ISO image from the project website. Leave the default disk-partitioning values. The install, including an update, takes just a few minutes to complete; the system then automatically reboots to a command line. Now log in as root with a password of yunohost and start the post-install routine by calling yunohost tools postinstall
. The routine requires the main domain, as well as the future administrative password, and then configures all services accordingly.
You can also use a VirtualBox, VMware, or KVM virtual machine as the basis for your tests. An image for the virtualization-focused Vagrant development environment is also available [17].
Installing on Rasp Pi
To install YunoHost on a Rasp Pi, first download the image for the ARM platform and store it on an SD card, preferably a Class 10 card with at least an 8GB capacity. Be sure to choose the target device carefully; otherwise you will lose the data on a partition that your computer needs. The dd
command is fine for writing the data, as are graphical tools like Etcher under Linux or Rufus under Windows. The corresponding ARM version for the Rasp Pi is based on Raspbian 8 "Jessie."
After copying the image to the SD card, insert the card into the slot on the Rasp Pi and connect the Ethernet cable, the power supply, and, optionally, a display and a keyboard. The boot process takes about 90 seconds.
The next step is to determine the Rasp Pi's IP address. If you have connected a display, the computer will show you its IP address. If no display is connected, the hostname -i
command on the computer's console helps. Alternatively, you can find the address via the router's web interface. Under Windows, you can use the Advanced IP Scanner [18] program to display IP addresses logged on to the local network. You can do the same under Linux with on-board tools:
$ sudo arp-scan --localnet | grep Raspberry
You now have to finish the installation. Without a display, continue via SSH or call the http://<RasPi-IP>
address in a browser to continue graphically. Since YunoHost uses a self-signed certificate by default, the browser displays the message that the connection is not secure. You can ignore this message in a private environment and allow an exception to reach the interface (Figure 1).
If you want to grant other users external access to services, you should use your own domain. Use the yunohost domain cert-install
command to create an SSL certificate with Let's Encrypt and install it so that it secures the connection via HTTPS in the future. However, this approach presupposes that the domain registrar first adapts the DNS A record so that it points to the domain's IP address. It usually takes 24 hours or longer for the change to propagate.
The first step in the interface is to set up a domain under which you can access the server (Figure 2). Guided configuration in the browser is easier for most users than working with SSH in a terminal. The first question is whether you already have a domain that you want to use. The example assumes that you don't have a domain, so the second option is the right choice.
However, if you want to use a self-defined local domain, such as yunohost. local
, enter it along with the IP address in the /etc/hosts
file. Under Windows, you will find the corresponding file under %SystemRoot%\system32\drivers\etc\
.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.