Beginner’s Guide to Raspberry Pi: Setting Up Your Own NAS Server

Beginner’s Guide to Raspberry Pi (Part 1)

Smart Embedded Apprentice, WeChat Official Account: Smart Embedded Apprentice Beginner’s Guide to Raspberry Pi (Part 1)
After the previous article, our Raspberry Pi microcomputer can be used as needed, and based on my actual situation (I have a WD-SSD-1T-2024: ¥500) and needs, I plan to set up a simple but functional NAS server;Reference link:
https://www.zhihu.com/collection/964553545

I have resources shared by friends stored on a certain cloud, with issues like privacy security, slow upload & download speeds, etc. Where there are problems, there are needs, and I will gradually solve these needs below;

4.3 NAS Server

4.3.1 What is NAS? What does it do?

NAS: Network Attached Storage, used for downloading machines/personal cloud storage/media library management/book library management, etc.;

4.3.2 Deploying NAS

Software options: Synology/QNAP/ASUS/OpenMediaVault (OMV), etc.;
(1) Deploying OMV Environment
1) Change Source
sudo vi /etc/apt/sources.list  # Comment out the previous ones, copy the following USTC and Tsinghua mirror sources into the file deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpideb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpideb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
sudo vi /etc/apt/sources.list.d/raspi.list # Comment out the previous ones, copy the following USTC and Tsinghua mirror sources into the file deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main uideb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main uideb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
# Update the system sudo apt-get update && sudo apt-get upgrade -y

2) Install and Log in to OMV

Get the installation script from the GitHub repository; Link as follows:

https://github.com/OpenMediaVault-Plugin-Developers/installScript

# Manually install sudo chmod +x  ??? && sudo install  ???

Finally, log in to the OMV web page by entering http://RaspberryPiIP in your computer’s browser

(Default: admin/openmediavault)

3) Set up OMV (optional operation)

In general settings, set the automatic logout time to 1 day;

Create shared folders based on the disk (SSD), enable SMB for sharing;

4) Install omvextras plugin based on OMV (optional operation)

Get the omv-extras mirror plugin from Tsinghua source; Link as follows:

https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers/pool/main/o/openmediavault-omvextrasorg/

Then manually upload and install;

5) Install Docker based on omvextras plugin
# Update omvextras software source sudo vi /etc/sources.list.d/omvextras.listdeb https://mirrors.tuna.tsinghua.edu.cn/OpenMediaVault/openmediavault-plugin-developers usul maindeb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian buster stablesudo apt-get update && sudo apt-get upgrade -y
6) Pull && Deploy Docker Image
Use Portainer tool/command line to pull && deploy Docker image; Not elaborating, just find a way that works for you;
(2) Download Machine
Software options: Transmission for seeding, qBittorrent for daily downloads, etc.;
1) Mount Hard Drive
# Refer to the following content and set according to the actual situation sudo umount /dev/sda1sudo mkdir /mnt/ssdsudo vi /etc/fstab# Add the following content /dev/sda1 /mnt/ssd exfat defaults 00# Confirm effectiveness sudo mount -a && lsblk -f

2) Pull && Deploy Transmission

# pullsudo docker pull linuxserver/transmission:arm32v7-4.0.2# deploysudo docker run -d \  --name=transmission \    --net=host \    -e PUID=1000 \    -e PGID=1000 \    -e TZ=Asia/Shanghai \    -e USER=admin \    -e PASS=passwd \    -v /data/transmission/config:/config \    -v /data/transmission/downloads:/downloads \    -v /data/transmission/watch:/watch \    -p 9091:9091 \    -p 51413:51413 \    -p 51413:51413/udp \  --restart=always \  linuxserver/transmission:arm32v7-4.0.2  # The above deploy lacks permission option configuration and PUID, PGID (id $user; select root)  # docker logs transmission to see the print, supplement after that  s6-svscan: warning: unable to iopause: Operation not permitted  s6-svscan: warning: executing into.s6-svscan/crash  s6-svscan crashed. Killing everything and exiting.  s6-linux-init-hpr: fatal: unable to reboot(): Operation not permitted  sudo docker run --privileged --cap-add=SYS_ADMIN -d \    --name=transmission \    -e PUID= \    -e PGID= \    -e TZ=Asia/Shanghai \    -e USER=admin \    -e PASS=passwd \    -v /data/transmission/config:/config \    -v /media/WDssd/downloads:/downloads \    -v /data/transmission/watch:/watch \    -p 9091:9091 \    -p 51413:51413 \    -p 51413:51413/udp \    --restart=always \    linuxserver/transmission:arm32v7-4.0.2

3) Pull && Deploy qBittorrent

# pullsudo docker pull linuxserver/qbittorrent:arm32v7-4.5.3# deploy, default account password admin/adminadminsudo docker run --privileged --cap-add=SYS_ADMIN -d \  --name=qbittorrent \  -e PUID= \  -e PGID= \  -e TZ=Asia/Shanghai \  -e WEBUI_PORT=8080 \  -e TORRENTING_PORT=6881 \  -p 8080:8080 \  -p 6881:6881 \  -p 6881:6881/udp \  -v /data/qbittorrent/config:/config \  -v /media/WDssd/downloads:/downloads \  --restart=always \  linuxserver/qbittorrent:arm32v7-4.5.3

Ubuntu image as a test seed:

https://cn.ubuntu.com/download/alternative-downloads

Leave a Comment

Your email address will not be published. Required fields are marked *