Skip to main content

Pirated Tech

My DIY Raspberry Pi Web Based File Share Server

Table of Contents

# Introduction

If you belong to the group of people who can say, “I bought a Raspberry Pi years ago just because they’re cool but I have no real use for it,” then you are not alone — there is at least one other member 👋.

When not being used to host experimental Discord bots, my Raspberry Pi 4B largely lays around collecting dust. I probably should migrate most of my software from my home server (a Lenovo ThinkStation P330 Tiny) to my Pi, as I would like that computer to be a dedicated media server. But I often find myself unplugging it to move it around, or corrupting the operating system too much to reliably use it as a host for my finished projects. So here it sits, practically unused year-round.

# Inspiration

Recently, I have been frustrated with trying to send files to friends. It seems there is no solution that satisfies everyone: Discord limits file size when you do not pay for Nitro; emailing often limits attachments to just a couple of MB; Dropbox, Google Drive, etc., exist, but moving the content and creating a shareable link can be a pain and is limited to 15GB (for Google at least). The final straw was when I wanted to send a simple document for my D&D campaign to some friends but was met with the “file size too large” warning. I thought, “Ugh, I should just spin up my own FTP server or something.”

## To FTP or Not FTP

I figured, “why not breathe some life back into the old Pi?”, and threw a new install of Raspberry Pi OS Lite on it. At first, I tried to get an SFTP server running, but as I soon came to find out, I didn’t really know what an FTP server was or what it was meant to do. I just thought, “The name implies I can transfer files, that is what I want to do, so it should work… right?” I was experiencing a very common problem in tech: I knew what I wanted, I just didn’t know the language to describe it.

After consulting some (much more intelligent) friends, I concluded that I did not need SFTP, or any form of FTP server. What I wanted was simply, what I like to call, a web-based private file share.

After a bit of Googling, I found File Browser and very easily got it running on my Pi via Docker.

# Enough is Enough. Unless You Are Talking Storage Space.

I hesitate to call this an issue because, in reality, I am going to be the only person using this, and I will likely just delete the content once the other person has downloaded it. But either way, my Pi only came with a 128GB micro SSD. I wanted more, because why not?

I knew I had a 1TB Seagate external HDD I bought years ago to back up an old laptop, so I went to my basement and dug it out of a box, plugged it in, and mounted it to my Pi. Et voilà! … My Pi couldn’t power it, and I somehow cratered my OS, or locked out my user, or unmounted the wrong drive, or something — all I know is I broke something.

I was not giving up, and I was not spending money on a Raspberry Pi SATA hat, a bigger power supply, or any other rational solution. Instead, I found a cheap powered USB dock on Amazon and daisy-chained them together to create this beautiful mess.



DIY Pi setup

# Conclusion

I honestly didn’t really expect this to work, although why wouldn’t it? I am telling myself it is not a long-term solution, but if I know myself, I know it will stay like this until I am absolutely forced to change it for one reason or another. Either way, despite how weird or unconventional it is, I now have a 1TB Raspberry Pi web-based private file share server and Discord Nitro can kick rocks.

## Future Plans

I have wanted to tinker with Kubernetes for a while now, and with my recent purchase of a Bambu Lab A1 3D Printer, I am even more inspired to buy two more Raspberry Pi boards and mount them in a 3D-printed mini-rack.