stacks/homelab/README.md

1.3 KiB

My homelab now uses runit-managed podman containers.

If, for some reason, runit and all its variants disappear, you can get everything going this way:

for service in */; do
  (cd $service && ./run) &
done

Architecture

Many of these services are web-based. All my web-based services run behind caddy.

simpleauth authenticates requests to most web-based services, using caddy's forward-authentication mechanism.

portal is a basic landing page that lists services, so people don't have to remember a dozen URLs.

Because I'm double-NATted, I run coredns so that LAN machines can get to the services.

A few odd ducks:

  • atlas is a RIPE Atlas Probe, used by RIPE to do research on the Internet. I don't get anything out of this, other than feeling like I'm being helpful.
  • oscar is a full-featured login shell that I ssh into, instead of the host OS, which has hardly anything installed.
  • sys-backup is a periodic job to back up the host OS configuration.
  • service-sync copies all this stuff from the host OS into my repo, and occasionally I commit the changes. This is covered by sys-backup, but I like having these services on my git server, so people can look at how it works.