If you want to host a file server on your Raspberry Pi, OpenMediaVault is a great choice that will make your life easier. It offers a web interface to manage everything on your devices: from your storage drives (detection, mounting, formatting) to your file sharing (creation, permissions, user management, etc.). I used this distribution a lot in my job as a system administrator, so I will explain how to use the distribution on a Raspberry Pi in this article.
OpenMediaVault is software that can be installed on any Debian-based distribution, like Raspberry Pi OS (Lite is enough). It can be used to host and configure a file server via a web interface in a few clicks.
This article will explain each step in detail, so you can use the software on your device and easily create a file share at home.
If you are looking to quickly progress on Raspberry Pi, you can check out my e-book here. It’s a 30-day challenge, where you learn one new thing every day until you become a Raspberry Pi expert. The first third of the book teaches you the basics, but the following chapters include projects you can try on your own.
Why do you need OpenMediaVault?
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
As explained in the introduction, the main goal of OpenMediaVault (OMV) is to install a file server and give you a nice web interface to manage it. But this tool doesn’t reinvent the wheel. Basically, it will install the main components of a file server (like Samba) and provide an interface between you and the configuration file (a bit like Webmin, but dedicated to the file server, and slightly better I think).
You can absolutely do the same thing by using Samba and a few other packages, but the installation, configuration, and maintenance are way more complicated (I have a complete guide about that if you want, even if it’s just to take a look at the difference).
In my job, I even switched from OpenMediaVault to native Debian on some servers (because I needed to update the base system, but OMV wasn’t available with the latest version at the time). I no longer had the web interface, but the Samba configuration remained the same and the file share still worked.
Anyway, the idea here is to keep things simple for a home project. I have no doubts that some of you are gods with Linux, but there is no reason to avoid adding comfort to managing our Raspberry Pi server.
Install the base system for OpenMediaVault
Historically, OpenMediaVault was distributed as a standard Linux distribution. You had an image and had to install it from scratch on a new server (or Raspberry Pi). With the latest versions, OpenMediaVault is now a simple package you can install on any Debian-based distribution, which is way better for us.
The first step is to have or install your system on a Raspberry Pi. For this tutorial, I’ll use Raspberry Pi OS Lite, which is enough for it. But it’s fine if you already have another version (Desktop, Ubuntu, etc.).
If you need some guidance for the installation, I’ll let you read this complete guide to set up Raspberry Pi OS, and come back here after that.
Whatever your case, make sure you have:
- Installed a Debian-based distribution.
- Configured the Internet access.
Take note of the Raspberry Pi IP address, you’ll need it later (read this tutorial if you don’t know what I’m talking about).
- Complete the system updates:
sudo apt update && sudo apt upgrade
Setting up SSH access on your Raspberry Pi might be a good idea if you have another computer to follow this tutorial. This way, you can just copy and paste the commands I give you here and access the web interface from your computer.
OpenMediaVault Installation on a Raspberry Pi
Here are the main steps to install OpenMediaVault on Raspberry Pi:
- Use the installation script to install all dependencies and complete the basic configuration.
- Access the web interface to create your custom server.
We’ll now learn how to do this in detail.
As mentioned previously, OpenMediaVault can now be installed like a simple package. It’s not available in the default repository, but you can install it by using their installation script, in one command line:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
It will install everything you need, there are no additional questions during the installation. The script will reboot your Raspberry Pi when it’s done.
I tested it on Raspberry Pi OS Lite (Bullseye, 64-bit), to check if the latest version was supported, but any version should be fine.
Access the web interface
After the system reboot, you should be able to access the web interface directly:
- Open your web browser on your computer.
- Type the Raspberry Pi address with the HTTP prefix, so for example:
You can also use the Raspberry Pi hostname if you know it:
http://raspberrypi.localIt’s just an example, so you may have changed it in Raspberry Pi Imager during the installation, or after installation by using the hostname command (as explained here).
- The login form will show up:
- Enter the default credentials to login for the first time:
- Login: admin
- Password: openmediavault
- You can change them once logged in, I will show you how in the next part.
You’ll then access the full interface. The dashboard needs to be configured, but you have a left menu with all the features included in OpenMediaVault.
Thanks to all my Patrons for supporting me, helping me to keep doing this and producing even more tutorials for everyone! Thank you to everyone supporting me there.
First Steps with OpenMediaVault
Grab your free PDF file with all the commands you need to know on Raspberry Pi!
The goal here is not to give you a detailed guide on how to use OpenMediaVault, explaining the options available in the interface (there is the official documentation for that). Instead, I want to guide you with the first steps that anyone will have to follow, whatever the exact project is. I hope it will be useful and save you time.
Feel free to check my video on this topic to see how it looks:
Change the administrator password
For security reasons, it’s always a good practice to change the default credentials as soon as possible after the installation. Even if it’s just a small server at home, default passwords will be tested directly if someone finds that you are using OpenMediaVault or a Raspberry Pi.
To change the default OpenMediaVault password:
- Click on the settings icon in the top-right corner.
- A menu shows up, click on “Change Password”:
- Enter the new password twice, and click on “Save” to apply your change.
You can also use the same menu to switch to another language if needed.
Good, you can now move on with your project!
By default, the home page is empty, and you’ll get a message explaining what to do: “The dashboard has not yet been configured. To personalize it, please go to the settings page.”
Just click on the link to configure the widgets you want to add to this page. This is really well done – you can have a quick overview of the hardware usage (CPU, memory, network) and your current configuration (enabled services, shares, file systems, etc.).
For some of them, you have the choice between “table” and “grid”. Just pick one, this is just a different design. Grids have colors and graphs, while tables are more traditional.
Mount your storage drives
The serious part begins when you try to add your storage drives. This was already the case a few years ago when I first tried OpenMediaVault, but I feel it’s not very intuitive. The interface helps, but there are several steps and if you forgot one step, it won’t work.
Anyway, mounting and formatting the disk is not that complicated, so let’s start with it.
I’m testing this by using the Argon One case, with a 1Tb M2 SSD in the case. OpenMediaVault is installed on my favorite USB key (but you can use a SD card), and I will show you how to mount the SSD, format it and create a file share on it. The steps should be similar if you use a USB drive or even a HAT with several SATA drives.
- First, make sure your data drive is detected. Go to Storage > Disks to list all of them:
In my case, both are detected (USB+SSD), and I’m interested in the first one (/dev/sda).
- Optional: Go to RAID Management if you have several disks and want additional security.
For example, if you have two drives, you can configure a mirror, so that if one disk is corrupted, the other one will save your life (and files).
This is one step that is particularly complicated to do in command lines, and where OMV is really useful.
- Then format your disk with EXT4.
I tried with a FAT partition created on my computer, but received many issues, so I guess OMV works best with a Linux file system.
Go to Storage > File Systems and click on “Create”. You may need to mount it first.
Choose your device (/dev/sda in my case) and the file system (EXT4 works fine).
That should be enough. In a few steps, new data storage is now available.
Create your first share
This is where I got a bit lost in the process because there are several locations in the left menu to configure the “share” folder:
- In Storage > Shared folders: you create a folder and can give permissions to it for your users. But it doesn’t mean you can access it from another computer. It’s only a local folder.
- In Services > SMB/CIFS > Shares: that’s where you configure a shared folder, that can be accessed from another computer.
So, start by creating a new folder in Storage > Shared folders.
Set a name (“share” or whatever), select the file system you just created (/dev/sda1 in my case), and pick the default permissions. This is just for local access, so it doesn’t really matter for now.
Then, go to Services > SMB/CIFS.
In the “Settings” submenu, make sure the service is enabled. If not, check the “Enabled” box and click Save.
You can now open the “Shares” submenu, and create the shared folder.
The form might feel overwhelming, but you can keep the default values in most cases. Select the shared folder created in the previous step, and everything else is optional. Just change what applies to your case.
If you prefer not to bother with user passwords and permissions, set the “Public” field to “Guests allowed”.
Once all the steps are completed, the new folder is listed under Services > SMB/CIFS > Shares:
And you can access it via your file explorer from a computer. On Windows, use \\IP_ADDRESS and on Linux/Mac it should be something like smb://IP_ADDRESS.
If guests aren’t allowed, you’ll be asked for a login and password. Keep reading to learn more about this.
Share permissions management
Sale: 10% off today.
Get the eBook.
Do more with your Raspberry Pi, learn the useful concepts and take the shortcuts.
You miss half of the fun of using a Raspberry Pi if you don’t know anything about Python.
That’s another step that is hard to configure when there is no web interface. So OMV is pretty handy if you want to give different permissions to different users.
The best practice is to use users and groups to manage permissions to your share folders:
- Create a different group for each level of access.
Maybe it’s “admins” and “users”. Or perhaps it’s one group per shared folder. Find what is best depending on your project.
For a simple share at home, one group named something like “share_access” might be enough, to explicitly configure who can access the shared folder.
Go to Users > Groups to create the corresponding group(s).
- Then create one user for everyone.
In general, you’ll create one username for each individual, but you can also have more if you have some scripts or apps connecting to this device (a backup service, for example).
Go to Users > Users to create the corresponding user(s).
Make sure to add them in the correct groups you created previously.
Once you have created at least one user and group for yourself, we can move on and configure the shared folder permissions:
- Get back to “Groups” and select the group you want to give access to your shared folder.
- Click on the privileges icon in the upper bar:
- You can now choose which permissions to give for each shared folders you created:
- Read/Write: full access to the files in this folder.
- Read only: can open all files, but not edit them.
- No access: can’t open any file.
You can do the same thing in the Users submenu. But it’s generally best practice to use groups so that it will work directly when you add new users to this group in the future.
Using plugins with OpenMediaVault
The last feature I want to introduce is the additional plugins. OpenMediaVault is generally used to host a basic file server, that is why I mainly wrote about it in this article. But you can easily install new plugins, to enhance your experience and add new features to your file server.
You can for example add a plugin to enable an Antivirus or files encryption on your system.
To do this, go to System > Plugins. You’ll get a list of the supported plugins.
Just click on the one you are interested in, and click on “Install” to install it automatically.
After the installation, the plugin will generally be available in a submenu, with additional settings to configure it. Here is an example with the Antivirus plugin (ClamAV):
Obviously, you can always use SSH and install ClamAV on your Raspberry Pi manually. But the web interface to manage it is appreciable.
I hope this guide has been useful to get started with OpenMediaVault on your Raspberry Pi. Please don’t hesitate to check their documentation for more details (once installed, using a Raspberry Pi or a $10k server doesn’t change anything in the interface), and contact me if you have any additional questions.
Raspberry Pi Resources
Not sure where to start?
Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Watch the Raspberry Pi Bootcamp course now.
Master your Raspberry Pi in 30 days
Don’t want the basic stuff only? 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.
Download the e-book.
If you just want to hang out with me and show your support, you can also join the Patreon community. I share behind-the-scenes content there and give you early access to my content. You’ll also get a shoutout when you join.
More details here.
Need help building something with Python?
Create, understand and improve any Python script for your Raspberry Pi.
Learn the essentials, step-by-step, without losing time understanding useless concepts.
Get the e-book now.
You can also find all my recommendations for tools and hardware on this page.