Raspberry Pi Open Source Network Attached Storage

This project grew out of a frustration I had with Dropbox. I've been using this platform for years but I was increasingly limited by the amount of free storage.
A NAS (network attached storage) was therefore the solution, but a NAS enclosure is extremely expensive. I then decided to design and build a NAS myself.
I have researched software and hardware combinations that can fulfill my requirements.
My requirements for this project were:
- I need to access my files from outside my home.
- I want quick storage
- My files must be backed up.
- I want to be able to send friends a link to a file so that others have 'limited' access to my NAS.
I then came up with the combination of a Raspberry Pi with 2 SSDs and the software combination of Open Media Vault with Nextcloud.

The Process
I designed the housing in Fusion 360 with space for 4 3.5 inch HDD or 2.5 inch SSD. I printed this housing and after a lot of sanding I also gave it a lick of paint with 10 layers of spray paint.
After that I installed the software. I worked with Docker for this project.

Docker is a way of running different pieces of software in their own 'containers'. This was my first time working with Docker, so it was a big learning step for me. But I think I've mastered the basics now. Open Media Vault runs on the Raspberry Pi. You can see this software as the operating system that manages everything from putting folders on hard drives to linking those folders to your network.
In addition, Docker runs with containers for Portainer (interface for Docker), DuckDNS (provides access to the NAS from the internet) and Nextcloud (replacing Dropbox functionality).

After setting everything up, I have a self-built NAS with 256GB SSD storage that is fully backed up, with room for 2 more drives. Everything for less than 150 Euros!


Modern unique look
Backed up SSD storage
Storage accessible everywhere
Automatic phone media synchronization
500mb/s read + write speed storage
Space for 4 drives, 2 at USB 3.0 and 2 at USB 2.0 speeds.

Programming language
Project duration

100 Hours
Fusion 360
Linux | Docker | OMV | Nextcloud