YunoHost 2.4 released

French version

One year after v.2.2 release, YunoHost team has the pleasure to announce you YunoHost version 2.4 release.

This article summarise what has been done on YunoHost project for one year.

First, will be presented YunoHost 2.4 enhancements, works done on the project’s infrastructure, new development tools, then future developments will be listed.

Finally, a tutorial will permit you upgrade your server to Debian Jessie and YunoHost 2.4, because this new version is solely available on Debian Jessie.


New features of YunoHost 2.4

Backup and restore system

The main feature of YunoHost 2.4 is the possibility to fully backup and restore the system:

  • from the web administration interface and from the command line interface with the command:
   yunohost backup -h
  • in particular: user accounts, applications, emails, services’ configurations, and data.

  • For the moment, backups are locally stored, which means that the archive is directly created on the server, but the system has been thought to handle other places ((S)FTP, other servers, and so on, later.

  • Note that this feature is very young, and will certainly need enhancements in order to be more stable! So, do not hesitate to report a bug.

Sharped management system for services’ configurations

From now, installation came with many packages yunohost-config-*. All been grouped in the single yunohost package!

This has been possible through the enhancement of YunoHost configuration mode of the different services (Nginx, Postfix, rspamd, etc.) . YunoHost now has configuration templates for all services.

Furthermore, a new command, only available for now from command line interface, allows to manage all the configurations:

   yunohost service regen-conf

This command allows to generate and display pending modifications. If you modify configuration files, be awared that they are never erased for upgrades. You could also modify display differences between the configuration file and the template with the command:

   yunohost service regen-conf --list-pending --with-diff

Note that this feature mainly concerns the advanced administrators willing to configure themselves services.

Application management and packaging

Two articles have been published about applications:

However, here is important points…

The way how are manages multi-instances applications have been reviewed. Attention, this changement is not retro-compatible, making installation impossible on YunoHost 2.2 with updated applications, and inversely if the application haven’t been updated.

Furthermore, for those who maintained application (or will to!), new shell helpers are available to ease packaging, in particular in common tasks (password generation, MySQL database creation…). Examples are given in the example application.

Official applications have all been updated to use new features, also note:

Services migrations

  • Migration of the database system from MySQL to MariaDB common fork .

  • Migration of the anti-spam system from amavis/spamassassin to the lightweight one rspamd/rmilter with the addition of DKIM and DMARC email configurations by default.

Other features

We could also note addition:

  • a button on the administration interface to access to user part (look at second image of the article).

  • labels indicating if an application is installed in the application section of the administration interface.

  • a diagnosis system which give information about YunoHost instance. It is accessible from command line interface with (yunohost tools diagnosis) command and via the administration interface in the Tool section. This tool give following information:

  • Debian, Linux kernel and YunoHost packages versions.

  • free space, usage of RAM and swap.

  • list of services and their status, list of installed applications.

  • IP addresses and domain names can be retrieve in private mode.

  • An automatic domain name DNS zone generation function which could directly put on the registrar DNS zone. They are accessible in the Domains part of the administration interface and with yunohost domain dns-conf exemple.tld command.

For more details about new features and fixed bugs in YunoHost 2.4, consult the roadmap.

YunoHost project infrastructure

  • Host of our Redmine bugtracker. Since 2015 September, we host Redmine tool dedicated to bugs and enhancements tracking. It’s possible to open tickets anonymously (attention, you will not receive email notifications in cases of answer or precision asking…). This tool have been set collectively with Internet Cube project team, and it also allow to manage bugs reports of the latter.

  • Host of our Weblate translation tool. YunHost have been thought to be entirely translated, whether it is command line or web interfaces. Translating YunoHost is not a technical task, it is enough to create an account on the translation tool and to look at what remains untranslated among ten available languages. For the story, we migrate from Transifex proprietary service to the Weblate free software that we host on our server.

  • Set up of Let’s Encrypt certificates on all our services.

  • Set up of a paste service. Use commande | yunopaste command to get the link of the paste.

Development tools

  • YnH-Dev allows to create, on his workstation computer, a virtual machine based on Vagrant to develop and test advanced version of YunoHost.

  • A continuous integration tool have been started to automate tests on applications.

  • A linter check applications’ manifest, scripts and give advice on good packaging practice.

Future developments

According to the roadmap, here is future works which will be conduct by YunoHost team:


A big thanks to all contributors who carry on making this project alive! :heart:

@beudbeud, @Bram, @jerome, @juju, @kload, @ljf, @opi, @Maniack_Crudelis, @Moul, @scith, @titoko, @tostaki, the numeros packagers and app maintainers, interfaces translators, testers, bug reporters, the Internet Cube contributors and many others not named…

Upgrade Debian from Wheezy to Jessie

Please note that YunoHost 2.4 is only compatible with Debian Jessie. If you’re already running Jessie, you can jump to the next section to upgrade YunoHost. Otherwise, if you’re still running Debian Wheezy, here are some quick instructions on how to upgrade to Jessie. For a full and safe method, please read the official guide.

Start by editing the file /etc/apt/sources.list and replace each wheezy occurrence by jessie. This can result in something like:

deb jessie main
deb jessie-updates main
deb jessie/updates main

Then, you’re ready to update the packages list and upgrade the system with:

sudo apt-get update && sudo apt-get dist-upgrade

To conclude, you should reboot your server to finalize the Jessie upgrade, before proceeding the…

Upgrade YunoHost 2.2 to 2.4

Warning! Prefer the manual upgrade if you have modify some services configuration files since they will be overridden! A backup is made nevertheless at the /home/yunohost.conf/backup directory.


yunohost command has been updated to integrate an automated tool to upgrade to YunoHost 2.4.
For that, start by upgrading your packages in order to have the last 2.2.x YunoHost version, then launch the upgrade:

sudo apt-get update && sudo apt-get upgrade
sudo yunohost tools upgrade --v24


Here is the step by step procedure.

You will first need to be logged as root in order to execute the following commands. If it’s not the case, run:

  sudo -i
  • Ensure that your system is up-to-date:
  apt-get update && apt-get upgrade
  • Remove the older Debian repositories which should be defined in /etc/apt/sources.list in the form of
  deb ...
  • Add the new YunoHost repository:
  echo 'deb jessie stable' > /etc/apt/sources.list.d/yunohost.list
  • Update the packages list and install the new version of the yunohost package:
apt-get update && apt-get install yunohost
  • Remove useless packages:
apt-get autoremove

Apply configurations of new services

The last step is now to regenerate the configuration for each managed services. There are two ways:

  • If you have not modified configurations, you can simply force their regeneration:
yunohost service regen-conf --force
  • If you have modified some of them, or if you just want to have knowledge of the changes before applying them:

    • Start with regenerating each configuration - without erasing them:
yunohost service regen-conf
  • It should return a list named pending containing the configuration files which are waiting for the given services. To print each difference between new file and current one, execute:
yunohost service regen-conf --list-pending --with-diff
  • Note that you can also execute this action for one - or more - given service name, i.e. to print files differences for the NGINX service only:
yunohost service regen-conf nginx --list-pending --with-diff
  • Then, if you agree with pending changes, you can apply them either for a given service:
yunohost service regen-conf nginx --force
  • …or for each service:
yunohost service regen-conf --force

Note that you will only have to do this last step once, to initialize this new configuration management system - except if you modify some configurations after, for sure. In that case, you can repeat the process described just before.