When I started self-hosting essential digital services via YunoHost in December 2024 I was taken aback by how easy and smooth the process was. Something that had appeared daunting to me just days before became a child’s game. A catalog with hundreds of free-open source apps available at the click of a button. It was joyful and pleasant and… a little addictive I dare say?

In the previous chapter in this series (Part 4: Backups) I wrote:

With great power comes great responsibility. […] The freedom and power to host your own essential internet services and social media come with something else: the responsibility to maintain and backup your precious system and data.

This absolutely applies to app upgrades.

And I have a confession for you: I am still a newbie whose heart beats fast whenever I see an app has an upgrade available. YunoHost makes upgrades super easy - literally at the touch of a button - but things could go wrong.

I’d like to share with you my process: what I do to keep a healthy server running and how I go about doing system maintenance in a mindful, safe way.

Step 1: Log into the Admin page of your YunoHost installation

a screenshot of the login screen for the YunoHost system

... and then click on Updates:

a screenshot showing the YunoHost dashboard, with a light blue arrow pointing to Updates

Check out if the Systems and/or Applications tab(s) have updates available:

a screenshot showing the updates available for my server: System (2 php packages) and Applications: NextCloud, PeerTube and Pixelfed

In my case, I could update system packages and three applications: NextCloud, PeerTube and Pixelfed.

Now is the time to take a snapshot of the VPS, essentially cloning it, so that if something goes wrong with an update, I can revert back to things pre-update.

Step 2: Take a Snapshot of your VPS

In the first installment of this series I shared how Hostinger (a VPS provider based in Lithuania - buy European!) is truly beginner friendly:

A newbie’s guide to self-hosting with YunoHost. Part 1: reasons + requirements
The first post in a four part miniseries about self-hosting for newbies via YunoHost

If you haven’t started on your self-hosting journey yet and need a VPS, I would highly recommend it. I have a referral code that gets you an extra 20% off, in case you are interested (link).

From your Hostinger (or other VPS dashboard) you should navigate to Manage -> Backups and Monitoring -> Snapshots & Backups and Create a Snapshot, which will capture the state of your VPS as it is right now:

Once the snapshot has been safely created, go back to your YunoHost Administration page and navigate to Updates.

Step 3: YunoHost Basic Upgrades

I typically do System updates first and then Applications.

Under the tab “System” when you click the green button “Upgrade all your Packages” this is what you will see:

a screenshot showing the prompt "Are you sure you want to update all the system packages" with the buttons Cancel and OK

Click on OK and let YunoHost do its magic.

The update process looks like this:

a screenshot of a floating window with the title: "The server is processing the action" and a list of tasks being run

In my case the system upgrade completed successfully in less than 5 seconds.

The Updates page now looks like this:

a screenshot of the YunoHost Updates page with a green message under system that reads "All system packages are up to date!"

Now moving on to Applications, I always exercise extreme caution and never click on “Upgrade” right away. I do my research first.

YunoHost’s development work is incredibly transparent with app upgrades and communication on bugs and fixes shared on their GitHub page:

YunoHost
YunoHost is an operating system aiming to simplify as much as possible the administration of a server. - YunoHost

If I’m hosting multiple apps on my YunoHost system and several apps have available updates, I typically rank them in my head by importance and start with the less critical one.

In this case I have NextCloud, PeerTube and Pixelfed available for updates. PeerTube is absolutely essential to me and is a major upgrade going from 7.1.1 to 8.1.2 so I would wait a bit to do that, putting it on the backburner.

I use NextCloud daily but if it really breaks it’s not as big of a deal as PeerTube (which hosts my Fediverse intro video). So let’s look at the NextCloud package page on YunoHost’s GitHub. Are there reports of issues with the latest update?

To find out, I go to the package page:

GitHub - YunoHost-Apps/nextcloud_ynh: Nextcloud package for YunoHost
Nextcloud package for YunoHost. Contribute to YunoHost-Apps/nextcloud_ynh development by creating an account on GitHub.

and click on the tab “Issues” and sort posts by “Newest.”

I don’t see any reports of things breaking.

So I go back to my YunoHost Updates page and feel pretty confident about upgrading Nextcloud. So I click on “Upgrade.”

Here is the confirmation screen I get:

the screenshot of a floating window over the Updates page with the title "Confirm app upgrades" and under it: Apps that will be upgraded NextCloud (from 32.0.6-ynh1 to 32.0.6-yhn2)

I click on the green button "Upgrade" thus launching the upgrade process.

a screenshot showing the upgrade process under way, with the title "The server is processing the action" and a list of actions being run

At the end of the upgrade you will get a confirmation that says “It appears that things went well.”

a confirmation screen with "Post-upgrade notifications for NextCloud" with the message "It seems that the upgrade went well"

I typically like to check for myself but yes, it’s true, everything is working correctly on my NextCloud.

If I go to Backups - Local Archives I will find the backup of NextCloud pre-upgrade... (so I could have reverted to it if things hadn't gone as expected):

a screenshot showing next-cloud-pre-upgrade on my Backup page

Now moving on to Pixelfed.

Same process: I check out the Pixelfed package page on YunoHost’s GitHub:

GitHub - YunoHost-Apps/pixelfed_ynh: The federated image shareing service Pixelfed for YunoHost
The federated image shareing service Pixelfed for YunoHost - YunoHost-Apps/pixelfed_ynh

Under “issues” I see a report that several upgrades failed - in a thread, multiple users reported the same problem:

Upgrade from 0.12.6~ynh2 to 0.12.7~ynh2 fails · Issue #324 · YunoHost-Apps/pixelfed_ynh
Upgrade from 0.12.6ynh2 to 0.12.7ynh2 fails with the following error: File or folder ‘/etc/php/8.3/fpm/pool.d/pixelfed.conf’ to be backed up does not exist Looking in the directory, I can confirm p…

So I let it be for now (a note that this article was written in late March 2026 and a fix may become available in the future).

Moving on to PeerTube: this is an absolutely essential service I am running. My PeerTube instance - the fediverse’s answer to YouTube - is hosting my popular video introducing the Fediverse to people not familiar with it: “Introducing the Fediverse: a new era of social media”. The video was released almost a year ago but it is still receiving many views and is being regularly used at conferences about the Fediverse. Breaking my PeerTube installation would be disastrous.

So I proceed with extra caution.

As usual, I check out the YunoHost GitHub page for PeerTube. I see a handful of reports about issues with upgrades:

GitHub - YunoHost-Apps/peertube_ynh: Federated (ActivityPub) video streaming platform using P2P for YunoHost
Federated (ActivityPub) video streaming platform using P2P for YunoHost - YunoHost-Apps/peertube_ynh

I am currently on PeerTube v. 7.1.1 and the app has been upgraded to 8.1.3. Because PeerTube is so essential to me, I feel like I shouldn’t let it stuck on an old version.

The Magic of VPS Snapshots

To recap: before doing any application upgrades, I took a snapshot of my VPS, which captured its current state. Then I successfully upgraded NextCloud and decided to not upgrade PixelFed. It is now PeerTube’s turn.

Because my previous snapshot captured my VPS pre-upgrades, I go back to my Hostinger VPS dashboard, delete the previous Snapshot (which didn’t have the system and NextCloud upgrades) and capture a new Snapshot (which will replace the previous one).

Once the process is confirmed, I go back to my YunoHost Administration dashboard and check out the Updates page. I click on the green “Upgrade” button for PeerTube.

The upgrade process starts… and within a minute I lose the connection to the server.

No big deal, this has happened many times before, but upgrades for some reason completed successfully. Except: my PeerTube installation is quite heavy and the connectivity issue occurred early on in the upgrade process.

I keep the page open and go do other work on another computer.

I return to the browser that was processing the upgrade and notice something odd. The PeerTube shortcut is missing from the welcome screen of my YunoHost server. So I click on “Applications” and notice that PeerTube isn’t listed anymore amongst the apps my YunoHost server is hosting. Wait what?

I check the history of the actions that my YunoHost server took recently and - alarmingly - there is a “remove PeerTube” in the list. So my botched app upgrade resulted in PeerTube being completely removed from my server.

Deep breaths. 

I go to backups and attempt to restore the automated backup of the previous PeerTube installation that YunoHost did.

a screenshot showing the recent actions run by my YunoHost server. This one: attempting to restore from the YunoHost PeerTube pre-upgrade backup

The restore seems to be successful, except for one thing: when I type in my browser the address of my PeerTube site, I get a “welcome to Nginx” message. This is not good.

There is no need to panic, though. Why?

I can restore my VPS and turn back the clock a few minutes to the time when it was working perfectly running PeerTube 7.1.1, pre-upgrade.

I go to my Hostinger VPS dashboard, click on Backups and restore the Snapshot I had taken:

A few minutes later, my PeerTube instance is back up and running perfectly like before. Magic!

I share this mishap on my GoToSocial account and I am advised by Teapot Ben and Dr. Fyzziks to do app upgrades from Terminal using a Terminal multiplexer called tmux. Teapot Ben writes:

If you lose your connection, your terminal session continues to run on the VPS uninterrupted, and you can reconnect again as if nothing happened.

YunoHost has instructions about how to carry out app upgrades from Terminal. Inspired by the advice about tmux, I try doing just that: YunoHost app upgrades using the command line interface and running a session inside tmux.

YunoHost App Upgrades from Terminal, using tmux

First up, let's install tmux. That's really easy and takes about 5 seconds. Just open up a Terminal window, connect to your VPS (no need if you're using Hostinger, just open Terminal from the Dashboard and you're in). Then copy and paste the following command:

apt install tmux

And confirm you want to install it.

Once the process is over, run tmux by typing:

tmux

(Here I am assuming you already took a snapshot of your VPS that you could revert to if things go awry).

Once you're inside tmux, copy and paste:

yunohost app upgrade [name of the app]

For example: yunohost app upgrade peertube

and the app upgrade will start. It will look something like this:

a screenshot of Terminal showing the PeerTube upgrade from Terminal, using the command line interface, inside tmux

Leave the window open and let it do its thing. Check back in a few minutes and follow the instructions, should YunoHost recommend you run extra commands post-installation. And that's it. This is how I was able to upgrade my PeerTube installation drama-free:

a screenshot showing the PeerTube installation in Terminal with various actions being executed and a message in green: Success! peertube upgraded

To get out of tmux, simply type the command exit

It's so easy to run YunoHost app upgrades inside terminal that I think this is how I will do things from now on.

Wrapping up

I hope this post showed you how easy it is to upgrade apps installed via YunoHost… and to restore them via VPS Snapshots should things go awry.

🪴
A routine reminder that YunoHost is a project run by volunteers and offered to the public for free. If you are using their services, please consider joining me in a monthly recurring donation to them.

If you have any specific questions about YunoHost or run into problems, their Forum is your best place to find a solution: 

YunoHost Forum
Ask your questions !

Happy self-hosting,

Elena

a handwritten message that reads: "written by a human" with a handdrawn heart next to it

💓 Did you enjoy this post? Share it with a friend!
👫 Follow me on Mastodon. All my other links are available here: elena.social
💌 If you'd like to say hi, my contact information is here

Tagged in:

YunoHost, self-hosting

Last Update: March 27, 2026