Docker
Will be somewhere in your homelab.
All roads lead back to Docker. It's the easiest setup of all time.
https://docs.docker.com/engine/install
or if you're lazy, here's the Linux shell command.
Command
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
All of these are necessary. To check if it's working, run:
sudo systemctl status docker (If this isn't running automatically after install, run sudo systemctl start docker)
If you want to run Docker commands without using the sudo*sudo* prefix the entire time, there's more commands to run.
Sudoless Docker
sudo groupadd docker (Creates a Linux user group named 'docker.')
sudo usermod -aG docker $USER (Adds the current user to said group.)
newgrp docker (This... I don't know. It supposed to save the changes. I think.)
how 2 docker 101
uhh basically always always docker compose.
in your linux machine or whatever make a directory that stores everything docker related
for me its /etc/docker/containers/ from there you want to make folders for each app you're planning to use w/ docker.
let's say pihole.
for pi-hole, we'd have a folder /etc/docker/containers/pihole/ or whatever, and in there, there would be a docker-compose.yml file. in there is everything docker needs to spin up a container (an isolated instance of an app, whether web-based or whatever).