Step-by-Step Guide to Setting Up a Raspberry Pi NAS

Copyright Notice Reprint without authorization is allowed

1. OMV Configuration

The installation is generally straightforward, and as long as the network environment is suitable, there shouldn’t be any errors. Once the installation is complete, you can start configuring OMV, which mainly consists of the following aspects.

General SettingsUpdate Source SettingsDocker InstallationDisk Settings

General Settings involves setting the login password, timezone, network, etc. It’s quite simple, so I won’t elaborate here. If you have any questions, feel free to ask me on WeChat[1].

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
OMV

Update Source Settings: OMV also requires some software source updates, and you need to set the source to a domestic address. As before, use SSH to log into the Raspberry Pi.

#Login to Raspberry Pi ssh pi@raspberry_pi_ip_address#Edit file sudo nano /etc/apt/sources.list.d/openmediavault.list#Update file content deb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul maindeb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul-proposed maindeb https://mirrors.bfsu.edu.cn/OpenMediaVault/public/ usul partner
Step-by-Step Guide to Setting Up a Raspberry Pi NAS
File Screenshot

OMV-Extras Extension Source

#Edit file sudo nano /etc/apt/sources.list.d/omvextras.list#Update file content deb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul buster maindeb [arch=amdhf] https://download.docker.com/linux/debian buster stabledeb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-testing buster maindeb https://mirrors.bfsu.edu.cn/OpenMediaVault/openmediavault-plugin-developers/usul-extras buster main

Docker Installation is very simple, basically just click a button and wait a bit.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Docker Settings

After that, just wait for a while.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Installation Process

Portainer Installation: Portainer is a graphical management tool for Docker.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Installing Portainer

Disk Settings: Connect an external hard drive to the Raspberry Pi’s USB port. To avoid errors, it’s best to format the hard drive on a computer first. After connecting the external hard drive, click on the file system to see all currently connected hard drives. The marked color indicates the hard drive I’m currently connected to; the other two are the SD cards inserted into the Raspberry Pi.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Disk Settings

Select this 32G hard drive, click mount, and wait a while for the hard drive to be successfully mounted.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Disk Settings

Set up a shared folder. Note that the path must have a slash, otherwise the data cannot be accessed.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Sharing Settings

Set up SMB access. If other computers, mobile phones, or iPads in the local area network want to access the hard drive via SMB, you need to enable SMB, which is also very simple to set up.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Sharing Settings

Thus, other computers, mobile phones, and pads in the local area network can access this hard drive via SMB.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Sharing Settings

2. Docker Application Installation

Next is the installation of various application tools, all of which use Docker within OMV for installation. First, install Jellyfin, which consists of the following steps:

1. Configure shared directory

2. Open Portainer

3. Copy the script and click execute

4. Wait for the installation to complete

The installation of Jellyfin requires configuring some shared directories, mainly for storing Jellyfin’s configuration files and setting up folders for movies and music, namely Config, Movie, Music, etc. Therefore, we need to configure these directories under the shared folder.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Application Installation

Then open Portainer, add a stack, fill in the script, and execute the script. I won’t go into detail here, but I will record a video demonstration of this later.

---version: "2.1"services:  jellyfin:    image: ghcr.io/linuxserver/jellyfin    container_name: jellyfin    environment:      - PUID=1000      - PGID=100      - TZ=Asia/Shanghai    volumes:      - /srv/dev-disk-by-uuid-FA722D40722D02CD/Config/jellifin:/config      - /srv/dev-disk-by-uuid-FA722D40722D02CD/Movie:/data/movies      - /srv/dev-disk-by-uuid-FA722D40722D02CD/Music:/data/music    ports:      - 8096:8096      - 8920:8920 #optional      - 7359:7359/udp #optional      - 1900:1900/udp #optional    restart: unless-stopped

After installation is complete, access the Raspberry Pi via SSH and execute the following code:

wget http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.4.4-1~bpo10+1_armhf.deb
sudo dpkg -i libseccomp2_2.4.4-1~bpo10+1_armhf.deb

Then enter raspberry_pi_IP_address:8096 in the browser address bar.

Step-by-Step Guide to Setting Up a Raspberry Pi NAS
Jellyfin

Done!

The installation methods for other Docker applications are basically the same as Jellyfin. The installation scripts are as follows:

Calibre: E-book management tool

---version: "2.1"services:  calibre-web:    image: johngong/calibre-web:latest    container_name: calibre-web    environment:      - PUID=1000      - PGID=100      - TZ=Asia/Shanghai      - USER=dave      - PASSWORD=123456      - WEBLANGUAGE=zh_CN    volumes:      - /srv/dev-disk-by-uuid-5474C32674C30A26/Book/Calibre/config:/config      - /srv/dev-disk-by-uuid-5474C32674C30A26/Book/Calibre:/library      - /srv/dev-disk-by-uuid-5474C32674C30A26/Book/Calibre/autoadd:/autoaddbooks    ports:      - 8083:8083      - 8080:8080    restart: unless-stopped

qbittorrent: Download tool

---version: "2.1"services:  qbittorrent:    image: ghcr.io/linuxserver/qbittorrent    container_name: qbittorrent    environment:      - PUID=1000      - PGID=100      - TZ=Asia/Shanghai      - WEBUI_PORT=8081    volumes:      - /srv/dev-disk-by-uuid-9A3E7FEE3E7FC235/config/qbittorrent:/config      - /srv/dev-disk-by-uuid-9A3E7FEE3E7FC235/qbitdownloads:/downloads    ports:      - 6881:6881      - 6881:6881/udp      - 8081:8081    restart: unless-stopped

Currently, I have only installed these three applications, which basically meet all my needs.

Reference Links

[1] WeChat: iLearning0907

Leave a Comment