๐ฅ Video Tutorial
Today Iโm building a small & simple home NAS for multimedia ๐ฅ๐ถ
๐ก Hardware used:
- ๐ฝ Old IDE HDD in USB enclosure
- ๐ Orange Pi Zero (cheap SBC from AliExpress)
๐ง OS choice:
- ๐ง Armbian โ lightweight and perfect for Orange Pi
โฌ๏ธ Download OS from: armbian.com

๐พ Flash OS to SD card
I used balenaEtcher ๐ฅ (balena.io)
Steps:
- โถ๏ธ Run balenaEtcher
- ๐ Click Flash from file โ select OS image
- ๐ฟ Click Select target โ choose SD card
- โก Press Flash! and wait

๐ First boot & connection
- Insert SD card into ๐ Orange Pi
-
Connect:
-
๐ Power
- ๐ Ethernet
- ๐ฝ HDD
๐ก Find IP via router DHCP table (or use UART if youโre hardcore ๐)
๐ Connect via SSH (PuTTY):
- user:
root - pass:
1234
โ ๏ธ Change password when prompted

๐ฟ Move system to HDD
Run:
nand-sata-install

Options:
- Boot from SD ๐พ

- Select HDD ๐ฝ

- Filesystem: ext4

๐ Reboot after install
๐ Create storage folder
cd / mkdir Storage chmod 777 Storage ls -la

โ
Now /Storage accessed for everyone (read/write)
๐ Install Transmission (torrent client)
sudo apt install transmission-daemon

โ Stop service before config:
systemctl stop transmission-daemon

โ๏ธ Edit config:
nano /etc/transmission-daemon/settings.json

Change:
"download-dir": "/Storage", "incomplete-dir": "/Storage/Incomplete", "incomplete-dir-enabled": true, "rpc-authentication-required": false, "rpc-bind-address": "0.0.0.0", "rpc-whitelist-enabled": false

โถ๏ธ Start again:
systemctl start transmission-daemon

systemctl status transmission-daemon

๐ Web UI:
http://IP:9091
๐ค Run Transmission as nobody
Edit:
nano /etc/init.d/transmission-daemon

USER=nobody:nogroup

Also:
nano /lib/systemd/system/transmission-daemon.service

User=nobody

Reload:
systemctl daemon-reload

systemctl status transmission-daemon.service
Fix permissions:
chown -R nobody:nogroup /var/lib/transmission-daemon chown -R nobody:nogroup /etc/transmission-daemon
๐ฅ๏ธ Install Samba (Windows sharing)
sudo apt install samba

nano /etc/samba/smb.conf
โ๏ธ Add:
security = user map to guest = bad password
๐ Share:
[DLNA-NAS]
path = /Storage
guest ok = yes
read only = no
create mask = 0777
directory mask = 0777
๐ Restart:
systemctl restart smbd
Try to copy file on Samba storage:


๐ฌ Install MiniDLNA
sudo apt install minidlna

nano /etc/minidlna.conf
Set:
media_dir=/Storage
Restart:
systemctl restart minidlna
๐บ Now stream to TV / PC ๐

๐ Web server (lighttpd)
sudo apt install lighttpd
Check:
๐งน Clean default page:
cd /var/www/html
rm *
๐ Install Python web control
sudo apt install python3 python3-pip

pip install bottle
Create file:
nano poweroff.py

import os
from bottle import route, run
@route('/')
def index(name):
if name == "power":
os.system("sudo shutdown -h now")
run(host='0.0.0.0', port=8080)
๐ Autostart script
nano /etc/rc.local
Add:
python3 /root/poweroff.py &
Reboot:
sudo reboot
Check:
ss -4nlp
๐งพ Simple NAS web UI
nano /var/www/html/index.html

Add HTML ๐
<!DOCTYPE html>
<html>
<head>
<style>
.container { position: relative; }
.button {
background-color: #4CAF50;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
font-size: 16px;
margin: 4px;
cursor: pointer;
width:100%;
}
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.button2 {background-color: #008CBA;}
</style>
</head>
<body>
<h1 style="text-align:center;">SZ_DLNA-NAS Web page</h1>
<div class="center">
<button class="button button2" onclick="window.location.href=':9091'">Transmission</button>
<br>
<button class="button button2" onclick="window.location.href=':8200'">miniDLNA</button>
</div>
</body>
</html>
โ Final result
๐ Thatโs it!
๐ช Iโve been using this NAS for ~6 months:
- ๐ฅ Downloading torrents
- ๐ฌ Streaming series locally
- โก Works stable and fast
๐ก Cheap, simple, and ัะตะฐะปัะฝะพ useful DIY project ๐




