A lightweight home server built using a Raspberry Pi 3B running Raspberry Pi OS Lite(headless), providing:
- 📁 Network file sharing via Samba (SMB)
- 🎬 Media streaming via DLNA
- 🌐 Secure remote access via Tailscale
- Raspberry Pi 3B
- MicroSD Card (16GB+)
- External Storage (HDD/SSD recommended)
- Stable power supply
- OS: Raspberry Pi OS Lite (headless)
- File Sharing: Samba
- Media Server: DLNA (MiniDLNA / ReadyMedia)
- Remote Access: Tailscale
/mnt/usb/ ├── Cloud/ # Samba shared files └── DLNA/ # Media streaming directory
All installation and configuration commands are maintained in:
service-setup.txt
This includes:
- System updates
- Drive mounting
- Samba configuration (/mnt/usb/Cloud)
- DLNA setup (/mnt/usb/DLNA)
- Tailscale installation and authentication
Do NOT duplicate commands here. Fix issues in service-setup.txt.
smb://raspberry-pi-ip/Cloud
smb://tailscale-ip/Cloud
- Backed by: /mnt/usb/Cloud
- Requires Samba credentials
- Ensure smbd service is running
- Media directory: /mnt/usb/DLNA
- Server name: RaspberryPi DLNA
Accessible via:
- Smart TVs
- VLC
- DLNA-compatible apps
Note: DLNA works only on local network.
ssh yourusername@tailscale-ip
smb://tailscale-ip/Cloud
- /mnt/usb is mounted correctly
- Samba share accessible locally
- Samba share accessible via Tailscale
- DLNA visible on devices
- Services (smbd, minidlna) running
- Proper permissions set
Samba not accessible:
- Check: systemctl status smbd
Connection refused:
- Samba not running or blocked
Drive not mounting:
- Check filesystem and /etc/fstab
DLNA not showing:
- Wrong media_dir or service not restarted
- Use Docker instead of native installs
- Add automatic backups
- Add monitoring (Grafana/Prometheus)
- Use Jellyfin instead of DLNA
- Add disk health monitoring
- /Cloud → Samba storage
- /DLNA → Media streaming
- No port forwarding required (Tailscale handles remote access)
If this setup starts breaking, it's almost always a mount or permissions issue — not the services.