This article is about using a Pi as a primitive low-end File-Server for your home network:
Expectations:
- Torrent-Server
- Download Torrents
- Store on a File-Share
- Windows Share
- Serve the File-Share as a Windows Share Drive
- Allow Read / Write to this Windows Share Drive
- Use File-Share as Media-Server
- Using any Smartphone / Laptop
- Play Movies using VLC
- View all Photos / Home-Videos
Effectively:
- Always on
- Always accepting new Torrent requests
- Instantly start downloading
- In Real-time
- Allow user's to view torrent download status
- Use any UPnP Phone App to play Video content over WiFi on a SmartPhone
- Use VLC (Network Streaming) to play any Video over WiFi on Laptop / Desktop
- Use Windows Share Drive and view all Photos / Home-Videos as needed
How-To:
- On Server
- Install Torrent-Daemon
- Configure Torrent-Daemon to listen on RPC requests
- Here's the howto for that
- Configure Samba
- Set the Download folder to be shared
- On Windows
- Install Transmission-GUI-Remote
- Configure GUI to use the RPC based Torrent-Daemon server
- Make this application the default for .torrent & magnet files
- On Linux
- Install Transmission-Remote
- sudo apt-get install transmission-remote
- Configure that to use Daemon (instead of downloading directly with transmission-cli)
Pros/Cons:
- Pros
- Once torrent download has begun, client can disconnect / shutdown client computer
- Server continues to get torrents, after a restart
- miniDLNA serving speed pretty decent
- Watching a movie (over WiFi) on VLC
- CPU ratio barely 0.01 which is pretty decent
- Should be able to easily serve a small army :)
- If no other IO is happening
- If WiFi isn't the bottleneck
- Cons
- Storage on Pi needs to be managed from time-to-time
- Currently is highly adhoc based
- Truly taking RAID concept to heart!!
- Have 6 Pen Drives (ranging from 4GB to 16GB)
- 8GBs are INR ~170 ( $3 )
- All connected via 3 USB Hubs (both USB 2.0 and USB 3.0)
- One Powered, two non-powered hubs
- Most on Btrfs
- Pretty stable, surprising that still get 1+ MBps with Pi's CPU
- Some VFAT fs since have need of moving stuff off of Pi to a Windows Laptop
- All mounted under /disk
- Very temporary arrangement
- Ideally am looking for a LVM solution (which allows me to remove / add pen-drives on the fly and thus can be called as one) that actually is suited for this purpose.
- But miniDLNA picks up Photo / Audio / Video pretty well from all different mounted folders
- Download speed limitations
- Internet Speed = 2 MBps
- Daemon Download speed capping = 1Mbps
- But PI never reaches it :D !
- Just imagine the poor configuration
- Pi + Btrfs + USB 2.0 + 3 USB Chain + Unpowered Hub
- Still consistent at 450kbps! Impressive!
- Lack of Transmission-Daemon configuration tool means all configuration has to be done via black-screen configuration files
- Careful configuration
- Give all access to 'all' users only if you're sure that all users are going to be careful