44 lines
1.3 KiB
Markdown
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.
|
|
|
|
|