circle-infoGuides

Welcome to my guides!

circle-info

Use the menu on the left to pick a guide! Mobile users will need to open the hamburger menu on the top left

You'll find various bits of useful information here. I've written this for myself, as these particular apps are either

  • Annoying to configure

  • Not well documented online or

  • Are stable enough for me to forget how to configure them, but not stable enough to last forever (looking at you Pterodactyl)

A piece of advice,

You will never have 99% uptime and people accessing your homelab are not entitled to your time. If your Plex server is down, they can use Netflix. The 'luxury' of paying money for those services is uptime and support. Don't make your homelab your second job.

How this documentation is written

Sectioned documentation

We're all busy and can't always dedicate 3 straight hours to 1 task.

Where logical, I have split my doco into multiple pages and a page should be completed in a single sitting. I've tried to keep each page to less than 30 minutes of work.

Docker Compose env file

As most of these guides will be reference my live docker compose files, they may change in the future. I will not be providing env files as what is correct today may not be tomorrow.

Where possible, I have provided default data, eg ${WEBPORT:-5000}

circle-exclamation

The best way to get an env file data is to

  1. Copy the entire compose to clipboard

  2. Paste into an AI (Gemini seems pretty good at this) and ask them to generate the env file

    circle-info

    Gemini seems to be quite good at this

Errors

If I'm expecting an error to occur, I'll write it into the doco. Otherwise, refer to the troubleshooting section on the left and/or Google.

Best Practice

Here are some basic things to consider for your Homelab

Password vault

Save all of your data into a password vault - a lot of API keys cannot be re-viewed after being generated and rolling them will break any services that use them

SSH keys allow for password-less authentication, and the device connecting requires the private key

Use an external party for authentication

I think this one one may be a bit controversial. At the end of the day, I trust Google, Github, Facebook etc. to have better security standards than an authentication provider written by someone as a hobby.

Don't store important data on your homelab

Another controversial take, but this one comes with a story.

Previously I had hosted Bitwarden as a docker container in my homelab. I ended up deciding to pay the $10ish a year to support the devs and shifted my vault over to their cloud version.

I had forgotten to update an old device pointing at the local version and when I accessed that device it couldn't authenticate. I did some digging and realized that the front-end of the container wasn't loading. The container and its database had died some time ago and I didn't have a backup to restore from.

I was lucky as I had already shifted my data away.

Don't force other people to use your homelab

Your homelab is your hobby - not everyone else is going to want to use it. Sure, make it available, but be aware of what may go wrong if something breaks. You don't want to have a drive die and then lose all of your families photos.

Last updated