
Ditch Big Tech: Build Your Own Private Cloud with Docker & Raspberry Pi
A few months ago, I built a NAS with a Raspberry Pi and a Samsung SSD. In the beginning, I was just planning to use it as a backup for my files and to stream my shows, but I found out there was more uses I could give to the Pi, and better ways to organize my media.
Eventually, I ended up creating my own Google Drive, Kindle, Netflix, and Google Photos —using only open-source software. The hardest part was configuring each tool, but thanks to Docker, that's not a problem anymore.
Replacing Netflix with Jellyfin
Watching series is one of my favorite hobbies, and I wanted to keep my favorite shows in my own server. Nowadays, you don't know if you'll be able to rewatch a series—even if you're paying for all streaming platforms out there.
Jellyfin's interface: A self-hosted Netflix alternative.
I dump my shows and movies into my drive, and Jellyfin automatically fetches metadata, thumbnails, and provides an online player. Now I can watch from my phone, laptop, or desktop PC.
Setting it up was as easy as this Docker config:
yaml jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=America/Caracas volumes: - /media/nas/jellyfin/library:/config - /media/nas/jellyfin/Movies:/data/Movies - /media/nas/jellyfin/Series:/data/Series ports: - 8096:8096 restart: unless-stopped
Replacing Kindle/Kobo with Calibre-Web
I got a Kobo eReader recently, and I love it. But I didn't want to pay for classic books in the Kobo Store—many are copyright-free anyway. So I downloaded them from:
- Project Gutenberg (original language)
- Elejandria (Spanish translations)
Calibre-Web: A self-hosted eBook library.
Transferring books via USB works, but I wanted automatic sync. Calibre-Web solved that—it even lets me create collections and read EPUBs directly in the browser.
Here's my Docker setup:
yaml calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - DOCKER_MODS=linuxserver/mods:universal-calibre volumes: - /home/pi/calibre_config_docker:/config - /media/nas/books:/books ports: - 8083:8083 restart: unless-stopped
Replacing Google Photos with Photoprism
The main reason for this project was backing up my media outside of cloud providers. But browsing photos in a file explorer—without albums or thumbnails—was a hassle compared to my phone's gallery.
Photoprism: A private Google Photos alternative.
Photoprism indexes photos, generates thumbnails, and uses TensorFlow to recognize faces, text, and objects. Now, I can search for anything—like a person's name or a keyword—and find it instantly.
The Docker config is long (see full version here), but the key part is:
yaml volumes: - "/media/nas/Backups/Samsung SM-G965F:/photoprism/originals"
The Big Problem: Durability
My Raspberry Pi 5 is surprisingly capable, but my setup has one weakness: it depends on a single SSD. If that fails, I lose everything.
Right now, it's not a huge deal—my most important files (photos) are also on my phone. But long-term, I need a better solution.
Possible Fixes:
- RAID setup (multiple drives for redundancy).
- Follow the 3-2-1 backup rule:
- 3 copies of data
- 2 different devices
- 1 off-site backup
Final Thoughts
This is my first time writing just for fun and I had a good time sharing my experience, there is a lot of information about private clouds, but it's mostly focused on movies and series and I wanted to talk about other usages you can give to your NAS, I hope you liked it. Thanks for reading!