stacks/homelab/README.md

44 lines
1.3 KiB
Markdown

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:
```sh
for service in */; do
(cd $service && ./run) &
done
```
Architecture
------------
Many of these services are web-based.
All my web-based services run behind [caddy](caddy/).
[simpleauth](simpleauth/)
authenticates requests to most web-based services,
using caddy's forward-authentication mechanism.
[portal](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](coredns/) so that LAN machines
can get to the services.
A few odd ducks:
* [atlas](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](oscar/) is a full-featured login shell that I ssh into,
instead of the host OS, which has hardly anything installed.
* [sys-backup](sys-backup/) is a periodic job to back up the host OS configuration.
* [service-sync](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.