Build Your Own Cloud Server with Raspberry Pi 5 - Self-Hosting Guide

Micael Coutinho,self-hostedraspberry-piinfrastructuredockergitean8n

Stop Renting Your Data - Own Your Cloud Instead

You know what's wild? GitHub repos aren't actually private. Shocking, right? And Notion? Everything's locked behind a paywall. Sure, they deliver value, but we can do better.

I'm not here to lecture you about data sovereignty (though we should talk about that someday). Instead, I'm going to show you how to run your own cloud server that fits in your pocket.

Why Self-Hosting Changed My Workflow

With Raspberry Pi's everywhere these days, you've got zero excuses. A complete server in your pocket (or purse), connects to your hotspot, ethernet, or Wi-Fi. Best part? You can expose it to the internet without it ever leaving your house.

And the kicker: NO. SURPRISE. ELECTRICITY. BILLS.

ARM chips run smooth at ridiculously low power. That said, if you keep stacking services, performance takes a hit. Need more horsepower? Grab a Mac Mini. Those new M-series chips are butter. (And I'm not even an Apple person.)

The Hardware You Actually Need

Critical Choices That Matter

Ditch the SD card. Just don't. Yes, it's easier to set up, but for a bit more cash you get a way more reliable system. Trust me on this.

Go for 8GB RAM minimum. This is a server. 8GB is the borderline acceptable. If your apps need more, either grab the 16GB compute module (you can skip the SSD but expect slower performance since eMMC < SSD + you need a proper breakout board / use the official breakout board for extra ports exposed, but if customization grinds your gears, don't let it stop you) or... yeah, Mac Mini.

My Current Setup

Software Stack: Keep It Simple

Operating System

Raspberry Pi OS? Come on. Use Ubuntu Server. It's built for this.

The Golden Rule: Containerize Everything

Containers. Containers. Containers. Do I need to say it again?

Containerizing all your apps is the key to a happy life. Seriously. Docker makes updates painless, rollbacks trivial, and your system stays clean.

Backups: Don't Be That Person

If you have a NAS, PLEASE FOR THE LOVE OF GOD implement a backup system. Takes about 2 hours to set up once, runs every Sunday morning automatically.

Need a NAS? I'm running the UGREEN NASYNC DXP2800. Good enough to start, can scale as you grow. Plus, you get easy backups for your personal computer. (Perfect justification for the significant other purchase conversation.)

Real Talk: The Gotchas

ARM Compatibility Will Test You

ARM is good but... limited. This is by far the biggest pitfall. You will NOT have compatibility with every single app you need.

Do your research. Make sure everything you want is supported, or at least you have a suitable alternative.

Noise and Performance

It's a server, even though it's small, it can get loud as you add stuff. From my experience, if you're savvy with your containers, it won't get too loud. But it's there.

Don't Even Think About Running LLMs

Just don't. There are better options out there. Unless you want a distributed system, but then we're getting into complicated territory. This guide is about getting you started.

Perfect for WSL Alternatives

This is a killer alternative to WSL if you need a Linux system but don't want to ditch Windows. Just keep in mind, this is not the same as working directly on your computer.

I've had issues with things like setting up Google Cloud APIs with n8n, for example. Remote development has quirks.

What I'm Actually Running

Here's my current self-hosted stack:

Gitea - GitHub Alternative

Never miss GitHub. Sometimes. Ever. You know what I mean - it's that good.

n8n - Workflow Automation

Ain't no way I'm paying for something I can just self-host. Build any automation you can imagine.

Docmost - Notion Replacement

Bye bye Notion. Although it's a bit tricky if you want to integrate your docs with LLMs or any osrt of automation. But now we have MCP servers for everything these days, and there's already at least one for Docmost. And it has some small quirks in comparison to Notion (image positioning is quite more limited), but nothing to write home about.

Gotify - Notification Server

Handy notification client for Windows computers. Good enough for push notifications. Although I did consider building my own.

Plus Custom Apps

Various experimental projects and tools I'm building and testing.

Pro Tip: Bathroom Coding

Off topic: yes, you can technically use Claude Code in the bathroom with this setup. Install a terminal on your phone, SSH to your Pi. See? Just replaced doomscrolling with vibe coding. Productivitymaxxing.

Getting Started with Self-Hosting

Prerequisites

  1. Raspberry Pi 5 (8GB minimum)
  2. Official SSD (512GB recommended)
  3. Ubuntu Server LTS
  4. Basic understanding of Docker (A little goes a very long way)
  5. Weekend afternoon (seriously, that's it)

Initial Setup Steps

  1. Flash Ubuntu Server to your SSD
  2. Configure SSH for remote access
  3. Install Docker and Docker Compose
  4. Set up your first service - I recommend gitea, then you can version control the container setups
  5. Configure backups if you have a NAS

Security Considerations

I did not go through the rabbit hole of setting up reverse proxy, so for now it's all local. Maybe next time.

Cost Breakdown

Let's talk money:

Compare that to all the cloud subscriptions you can have that have suitable (if not equivalent) self hosted alternatives + DATA SOVEREIGNTY, and it becomes a no-brainer.

Common Issues & Solutions

"My Pi is running hot"

Normal under load. Add a case with active cooling if concerned. You may need to go the DIY route because of the SSD. But guess what? 3D printers and third party cases exist.

"Service X won't work on ARM"

Check awesome-selfhosted on GitHub for ARM-compatible alternatives. The community has solutions for almost everything.

"I can't access my server remotely"

There are ways you can do it. I currently am not exploring that option. Maybe in the future.

"Docker containers eating all my RAM"

Set memory limits in your docker-compose.yml. The Pi has limited resources - manage them wisely.

Is Self-Hosting Right for You?

You'll Love It If You:

Maybe Skip It If You:

Resources That Helped Me

Next Steps

Once you've got your basic setup running:

  1. Add monitoring (I like Grafana)
  2. Set up automated backups (Duplicati, Restic, shell scripts)
  3. Configure reverse proxy (Caddy, Traefik)
  4. Explore more services (Nextcloud, Jellyfin, Home Assistant, the sky is the limit)
  5. Join the community (r/selfhosted, Discord servers)

Final Thoughts

Look, cloud services are convenient. But you're trading convenience for control, privacy, and long-term cost.

My Raspberry Pi 5 server has been running solid for months. (Almost) zero downtime. Zero surprise bills. Full control over my data.

Is it perfect? No. ARM limitations are real. But for 95% of what I need, it's more than enough.

Plus, I learned a ton about systems administration, networking, and Docker. Skills that are worth way more than the hardware investment.

Ready to build your own? Reach out if you have questions. I'm documenting this whole journey.


Quick FAQ

Q: Can I use Raspberry Pi 4? A: Yes, but Pi 5 has better performance, it's quite an upgrade. Worth the upgrade.

Q: What about power outages? A: Get a small UPS. No need to get fancy.

Q: Is 8GB really enough? A: For 5-8 lightweight services, yes. It always depends on what you want to run. Monitor your usage and upgrade if needed.

Q: What if I need Windows software? A: Do you really?


Building in public. Follow my journey at InvisiblePuzzle (opens in a new tab) where I document how I'm building B2B automation tools while working full-time.

Tags: #selfhosted #raspberrypi #docker #gitea #n8n #ubuntu #homelab #devops #automation #privacy

© 2025 InvisiblePuzzle

Building Software Tools for B2B