YunoHost: Raspberry Pi Self-Hosting Made Easy

If you own a Raspberry Pi and want to set up your own WordPress server or any other application, you need to do a lot of configuration and setup. But, with YunoHost, you can self-host your applications internally or publicly within minutes! Let’s learn how to set it up on our Pi.

The YunoHost image can be downloaded from their website and flashed with the Raspberry Pi Imager software. Users can then add and manage applications through the web interface and access them through an easy-to-use custom interface.

This tutorial will cover the installation process, setup instructions and configuration options YunoHost provides. Let’s start by getting a clearer picture of what YunoHost is.

If you’re new to Raspberry Pi or Linux, I’ve got something that can help you right away!
Download my free Linux commands cheat sheet – it’s a quick reference guide with all the essential commands you’ll need to get things done on your Raspberry Pi. Click here to get it for free!

Want the best experience? Become a premium member for ad-free browsing, access exclusive content, and ask questions in our private forums. Your membership helps support the site!

Introducing YunoHost

If you want to host an application like a WordPress site on Raspberry Pi, several steps are involved. You have to deal with installation and configuration, and then deploy the application on a public or private platform, which comes with challenges.

YunoHost aims to simplify this process by providing a platform (in fact, it is a Debian-based OS) that allows one-click hosting installation and deployment for your applications.

You can think of it as a Docker container manager for your applications (which can be thought of as individual containers).

So, now that you have a better idea of what YunoHost is, let’s start with the tutorial. Before we begin with the installation part, let’s review the requirements (both hardware and software) for this tutorial.

Hardware and Software Requirements

To follow this installation guide, you’ll need:

  • A Raspberry Pi: One important thing to note here is that YunoHost only supports Pis until Raspberry Pi 4 (sadly, Raspberry Pi 5 development is still in progress at the time of writing).
  • A micro-SD card or USB stick: You can pick whichever you have. You will need a storage option with at least 16 GB, as the OS image is over 7 Gigs. If you don’t have one handy and need a new SD card for this tutorial, find our current recommendations here.
  • Wired Connection: In this tutorial, I will assume that you have your Pi connected to your home network through a wired Ethernet connection.
  • Keyboard Mouse Setup (Optional): If you don’t have a wired connection and can’t set up the Wi-Fi, you can always connect the Pi to a monitor setup and complete the setup process through the OS interface.

In terms of software requirements, the only things you will need are:

  • YunoHost ISO Image: You will need the latest version of the YunoHost image for the Raspberry Pi (I’ll explain how to get it).
  • Raspberry Pi Imager or Balena Etcher: YunoHost is not available in Raspberry Pi Imager for now, but you can flash the above-obtained custom image with those tools, so pick the one you prefer. I have a complete guide for Raspberry Pi Imager here if you need it.

Now that the requirements are clear, let’s start the installation.

Install and Setup YunoHost: Raspberry Pi Guide

This section will take you through installing and setting up YunoHost on your Raspberry Pi step-by-step. For context, I am using a Raspberry Pi 4 for this tutorial. The steps differ if you are using a Raspberry Pi Zero, 1 or 2 (refer to this tutorial).

Downloading and Flashing the OS Image onto the SD Card

The first step here is getting the latest version of the YunoHost OS image for your Raspberry Pi. This is fairly easy to do and will take less than 5 minutes. So, let’s get started.

Also: Don't buy a new SD card until your read this.

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
  • Go to the YunoHost Installation Page.
    You should see the hardware for which YunoHost is supported.
    Keep in mind that the images are different based on the Raspberry Pi model you are using, so make sure to pick the right one for your device.


  • From the options listed, select “Raspberry Pi” as we would like to install the OS image for that. Then, you should have a section titled “Download the YunoHost image” where you will find the image download link.


  • Click on the blue rectangular button saying “Download v x.x.x” (the version number will vary depending on when you do this process) and it should start the download for this image link. For your reference, I downloaded the v11.2.8 of the YunoHost image for this tutorial.

Once you have the image ISO file on your system, we will use Raspberry Pi Imager software to flash it on your SD card:

  • Start Raspberry Pi Imager.
  • Click on the “Choose Device” button and select the Raspberry Pi device you own.
    For me, it will be the Raspberry Pi 4.
  • Click on “Choose OS”, scroll down to the bottom of the list, and click on “Use custom”:


  • Pick the image file you downloaded from the official website. 
    The image name might be something like “2023-12-26-yunohost-lite.img”.


  • Click “Choose Storage” and pick your SD card or USB drive. Ensure they are plugged in correctly, and you don’t choose the wrong device as Imager will format the selected drive.
  • Then click on “Write” to start the installation.
    Note: setting the Advanced Options for this OS often leads to boot issues, so do NOT apply any of its OS Customization options.

  • Once you press the button, the writing process will start. The system may ask for your password to start the installation so don’t panic if it does that. Now wait for a few minutes for the process to complete.

  • Once the writing process is completed, you can remove the SD card (or USB drive) from your computer and plug it into your Raspberry Pi.

First Boot Setup

Once you have the SD Card ready, all you need to do now is the following:

  • Insert the card into your Pi.
  • Connect the Pi to a power source.
  • Connect an Ethernet cable to establish a wired connection between the Pi and your home network.

If you can’t connect your Pi through a wired connection, you can connect it to a monitor setup and complete the setup process from there. You can even connect to a Wi-Fi network to enable SSH access.

If everything goes well, you should be able to access the following link from any device connected to the same network as your Pi: “http://yunohost.local/”.
This will open the YunoHost post-installation admin page.

So, let’s start with the setup process now.

Setting up a Domain Name (Existing or New)

Once you press the Begin button, the actual post-installation process will start. The first step is setting up a domain name for your YunoHost server.

You have three options here:

  • Use an existing domain (which would generally be paid).
  • Get a free domain under the YunoHost project (which we will do in this tutorial).
  • Or keep using the local domain name currently being used for testing.

If you pick the second option, it will expand the window and ask for the domain name and recovery password in case you would like to recover your domain.
YunoHost takes care of everything else.

Once you are done, click the Next button at the bottom to move to the next step of the setup process: “Creating your first Admin User”.

Creating Admin User

The new window will ask you for the username, full name and password to create the admin user:

Fill in the form (follow the password guidelines) and click “Next” to continue.
You’ll get a warning before starting the post-installation process (creating our new domain, new user and setting things up):


Press the OK button and your post-installation process will start. Be patient as it will take a few minutes for this to complete.

Once the process is complete, you should see the following Login screen.


You can use the credentials you just created to log into the admin interface of your server.

Congratulations on completing the setup process! Let’s take a look at the admin interface now.

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now

Admin Interface: First Look

Once you log in, you should see options to personalize your YunoHost experience. That includes managing users, domains (yes, it supports multiple domains), applications and even managing your system through an easy-to-learn interface (updates, tools, all the works).

To conclude, you can do many things from this interface. Let’s check a few fundamental things you should know about: Users and Domains.

User Management

As an admin (user), you can manage all the users on your YunoHost server through the Users tab. There are two different users in this platform:

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
  • Admin Users: The users with admin privileges can manage all the non-admin users, applications and domains.
  • Non-Admin Users: These types of users can be created by the admin and they can access certain applications based on the permissions that the admins provide them with.

Now, Let’s take a look at what things can we do through this interface:

  1. Viewing existing users: Existing users are shown as a list on the screen. You can edit its permissions or details or even delete them by clicking on the user.
  2. Searching users: If you are like me and have a user for each application, the search bar is useful as it lets you search through all users on your platform.

  3. Creating New Users: You can create new users for your platform. Apart from this, you can even import users from any other existing YunoHost setup you have or export users onto them. This can be handy when you are migrating to a new instance.


  4. Managing User Groups and Permissions: You can group similar users (for instance, your family members), manage individual and group level permissions, and specify which users/groups have access to what applications. Quite handy, right?

Domain Management

Like users, it is easy to manage all the domains you have configured for your YunoHost server. As explained before, domains can be thought of as an entry point for your applications.

You have the option to redirect two different domains on the same server to different applications. Refer to this image below to get a better idea of what I mean:

Domain management options are available under the Domains tab on the home screen.

As can be seen in the above snapshot, you can add a new domain or change the configurations for existing domains.

Configuring domains is a very complex topic and needs a lot of networking knowledge, so we will skip that part for now. Just know that if you are interested and an advanced user, you have the option available (check this article for more details).

System Updates

Lastly, like all operating systems, keeping the core packages is crucial in ensuring the security and operability of the system. Luckily, YunoHost provides quite an interactive user interface for this as well (just under the System Updates tab).

Additionally, as you can see, you can even manage your Application updates from this very tab. So, all the Applications you host are always running the latest and most secure versions.

That was all for the Admin Interface, now let’s get our hands dirty and install and host our very first Application on our YunoHost server.

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now

🛠 This tutorial doesn't work anymore? Report the issue here, so that I can update it!

If you are looking for exclusive tutorials, I post a new course each month, available for premium members only. Join the community to get access to all of them right now!

Hosting our First Application on YunoHost

For this tutorial, I chose WordPress as the application as I have been wanting to host my personal blogging website. So, if you are like me, you can follow the same steps or choose an application that better suits your needs.

Application Installation: WordPress

Installing an application is straightforward through the YunoHost interface. Just follow the steps given below:

  • Firstly, get to your Admin Interface home screen and then navigate to the Applications tab.

  • This will open a new page, where you will see all your installed Applications. If you’re doing this for the first time, you will see a page where no applications have been installed. Press the “Install” button on the top-right to start the Application installation process.

  • You will see the Application Catalog that YunoHost offers. You can choose any application from the ones available on this screen. For now, I will be choosing WordPress so type in “WordPress” in the search bar, and you should see the application listed on your screen.

  • This will open a new page showing you the details about the Application you are about to install. I recommend you review the information to know more about your application if you don’t have an idea and then go to the bottom, and complete the Install Settings.



    The settings highlighted in red are the required things you need to fill in. Apart from that, all the other options are optional and you can leave them as default if you want. I have just changed the Label of my Application to “PersonalBlog” and left the rest as is.
  • Finally, press the Install button and the system should start the installation process. This will start the installation process for the application. Depending on the application you choose, this may take a few minutes.

  • Once the application has been installed, you should see it on the Installed Applications list in the Applications tab. Congratulations! You just installed and hosted (yes, it’s already hosted!) your first application with YunoHost.

Now, let’s see how we can access our Blog.

Accessing our Application

Accessing our applications is easy for admins, users and visitors (non-registered users, so basically public access). Let’s cover the different ways we can access our application:

  • Option 1: Through the Admin Interface (Admins)
  • Option 2: Through the User Interface (Users)
  • Option 3: Through the Application URL (Visitors)

Let’s explore each option now.

Option 1: Through the Admin Interface (Admins)

If you are an Admin, you have access to all the applications on your server unless things are configured differently. So, the most straightforward way to access an Application for admins is the Admin Interface.

  • Navigate to the Applications table and click on the Application you would like to access.
    For me, that is my WordPress application:


  • Clicking on it will open a new page where you will see the details about your application. It is from here that you will be able to see details like the version of your application, details, etc. You can even access your application by pressing the “Open this app” button on the top-right.


  • This will open your blog page in a new window. For now, you will see a pre-created template site created by YunoHost developers.

Option 2: Through the User Interface (Users)

  • If you have a User that you created and permitted access to this application, they can access this application through an interactive User interface that YunoHost provides. To access it, click on the blue User interface button in the Admin interface.

  • This will open your personalized user interface. Alternatively, you can even enter your base domain and it will open the user interface login screen where you can use your credentials to log into your user interface page.


  • To access an application, click on the Application pane (which in this case will be the WordPress website).
  • This will open your blog page in a new window. Same as before, you will see a pre-created template site created by YunoHost developers.

Option 3: Through the Application URL (Visitors)

  • Finally, if you want your blog to be publicly accessible, you will need a link which anyone can use to access your website. That is generally referred to as your Application URL. It will be in the following format: “https://<your-domain>/<path>” (the path is what you configured during application installation).

    So, in my case, it is https://rpitips.nohost.me/blog.
  • Open your link in any browser and you should be able to access your blog.

This marks the end of this tutorial. You now know how to host your applications with minimal setup using YunoHost. There is a lot more you can do with YunoHost. If you are interested in exploring this further, I would highly recommend you go through the YunoHost Documentation.

Thank you for reading this article. See you in the next one!

Whenever you’re ready, here are other ways I can help you:

The RaspberryTips Community: If you want to hang out with me and other Raspberry Pi fans, you can join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.

Master your Raspberry Pi in 30 days: If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.

The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.

Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.

You can also find all my recommendations for tools and hardware on this page.

How would you rate this article?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Spread the word!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

Similar Posts