this post was submitted on 07 Aug 2023
129 points (97.8% liked)

homelab

6706 readers
1 users here now

founded 4 years ago
MODERATORS
 

I previously (and sort of still do) ran my homelab on a Raspberry Pi 4B with 4GB of RAM. That lab still exists but I recently picked up an Orange Pi 5B with 8GB of RAM and have been building out my services from scratch.

This time I thought I would do it properly with a reverse proxy through Caddy and email notifications, neither of which I made use of before.

It’s improved my experience so much! Being able to access my services from beyond my network without necessarily having to be connected to my VPN is great. My goal is to spin up my own Mastodon and Lemmy instances but it’s sort of a bit daunting to work out hosting them inside of Docker like the rest of my services. If anyone has any good guides or suggestions I would be interested.

Also looking for suggestions on ways to add some mass storage to this setup, I previously used a Drobo 5N2 but a quick google will tell you the way that company went.

top 15 comments
sorted by: hot top controversial new old
[–] DolphLundgren 18 points 1 year ago (1 children)

What status app or dashboard is this?

[–] Vake 9 points 1 year ago

This is Heimdall. You can add your apps and links to them and then link their API to show statuses.

I have some custom CSS on top of it which I found with a couple of quick searches.

[–] [email protected] 7 points 1 year ago (1 children)

I've been wanting to do a pi lab myself someday, and your post is so encouraging! Were there any guides or other things you used to get going that you found particularly helpful?

[–] Vake 3 points 1 year ago (1 children)

I had a look through my bookmarks and found this great writeup. This goes into a lot of detail and talks about a lot of services which might be a bit confronting. Honestly, searching for smaller piece by piece guides for installing this service or that service and slowly building out your projects is a good way to go.

[–] [email protected] 2 points 1 year ago

That sounds like a really good plan, thank you!

[–] [email protected] 6 points 1 year ago

The ansible Lemmy playbook is actually very good and quite easy to set up. Don't hesitate!

[–] [email protected] 4 points 1 year ago

Maybe try asking the admins of different lemmy instances

[–] woofbark 4 points 1 year ago (2 children)

Can you share any links / tutorials for getting Caddy setup and all the reverse proxy stuff?

[–] Vake 2 points 1 year ago (1 children)

I ended up using caddy-docker-proxy because the vanilla Caddyfile method was giving me some trouble with my internal docker hostnames. This container just lets you add some labels to your other containers in your docker compose file and then works out the proxy for you, so long as you’ve made the appropriate DNS records.

[–] woofbark 2 points 1 year ago
[–] [email protected] 2 points 1 year ago (1 children)

Installing Mastodon on a Pi clone might be a bit too much. Mastodon can eat a lot of CPU, RAM and storage very quick. If the database is on an SD card, the card might died an early death due to huge amount of write cycles.

[–] Vake 1 points 1 year ago (1 children)

I thought this might be the case. I’ve seen people say a couple GB of RAM and a few cores is enough for it. It would only be a personal instance for myself and really no other users so I would hope the usage would be low?

As to the SD card situation I’m yet to do this but my plan is to move at least the OS and containers onto the 64GB of internal EMMC and then probably use an external SSD for some mass storage but I’m still not sure whether that’s the best way to do that.

I had been looking at buying a Dell server like a R720 but I just can’t fit that anywhere especially with the noise and the power draw isn’t great either…

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

If you have an external SSD, you can try it and see if the performance is acceptable. Mastodon is a Ruby on Rail app, which tend to use more CPU and RAM than e.g. Lemmy, but you might be able to tune down the resource usage by setting lower worker counts. Like I mentioned before, the biggest risk is running the database (postgresql) on a storage with limited write cycle lifetime (SD Card or eMMC), so if you have an external SSD, that should be good enough for postgresql as long as it's using USB 3.0 (don't connect it to a USB 2.0 port).