mirror of
https://github.com/turtlebasket/michaelnet.git
synced 2026-03-04 19:44:31 -08:00
f6146888920afc860748b91cd07029d2e5048e56
Michael's Homelab
Host List
Devices
| Host | OS | Purpose / Services |
|---|---|---|
| Thonkpad (portable) | Misc. Projects | |
| Cuddlefish | Gitea | |
| Rocktiplex | Fathom, Status Proxy, RSF Analytics | |
| Cloud8 (under repair) | NextCloud |
Virtualized Hosts
| VM | Kind | Machine | OS | Purpose / Services |
|---|---|---|---|---|
| NixHost | KVM | Thonkpad | NixOS Testbed |
Off-site
| Host | Provider | OS | Purpose / Services |
|---|---|---|---|
| Backup1 | TNAHosting | Docker Volume Backups |
Docker
Most services are run as Docker containers.
SELinux Notes
Docker volumes violate some SELinux policies. Use setenforce 0 to disable it temporarily, or make the following permanent change to /etc/sysconfig/selinux:
# SELINUX=enforcing
SELINUX=permissive
Dockerized Cloudflared Notes
If a docker-compose file looks like this:
services:
gitea-server:
image: gitea/gitea:1.19.3
# ...
gitea-cloudflared:
image: cloudflare/cloudflared
# ...
Then in this case the name of the target service is gitea-server, and (per Docker's networking shenanigans), should be specified directly by service name, e.g.
https://git.michaellisano.com -> http://gitea-server:3000
Backups
Everything is encrypted with age.
All keys are generated using age-keygen and stored in a text file, e.g.
backup-key.txt
# created: 2023-06-24T18:01:36-07:00
# public key: age12345...
AGE-SECRET-KEY-xyz123...
Decrypting a file:
age -d -i backup-key.txt -o NAME.tar.gz NAME.tar.gz.enc
Description
Languages
Shell
55.6%
Nix
44.4%