---
title: Mira attempts to lock the fuck in and figure out how to k8s
date: 2025-04-07
---
# Current Setup

Auxin (HTPC):
 - OS: NixOS
 - Service Runtume:Docker Compose
 - Services:
	 - Syncthing
	 - Jellyfin
	 - Caddy (as reverse proxy only)
	 - Kodi
 - Service Storage:
	 - Bind Mounts to NFS on NAS
Lipotropin (NAS):
- OS: Proxmox
- Services Runtime: K3S
- Services:
	- adminer
	- caddy
	- copyparty
	- forgejo
	- jackett
	- mariadb
	- ntfy
	- paperless+gotenberg+tika
	- qbittorrent+gluetun
	- radarr
	- redis
	- slskd
- Service Storage:
	- NFS to spinning rust on same system
- Baremetal storage:
	- 6 HDDs in BTRFS5 (50TB raw, 38TB usable)
Motilin (working hostname, Unused)

Other Client Devices:
- Access files over NFS/SMB
- Access services via hostname (local), or URL (external)

---- 

# Endn't Point
Auxin
- Exclusive Services:
	- Kodi
- Distributed Services via K8S
- Service Storage: ????
- Baremetal storage:
	- Various HDDs as available
Motilin + Lipotropin
- Distributed Services via K8S
Client Devices
- Still need to be able to access files over NFS/SMB
- Still need to access services via hostname (local), or URL (external)
---
# Still need to figure out:
- How to handle jellyfin requiring GPU access
	- nodes not guaranteed to have GPU, or may have heterogenous GPUs, need to lock to nodes with GPUs
- How do I handle failover
	- current setup has SSH and HTTP traffic go to auxin, which proxies to lipotropin as needed
	- how would I handle auxin going down
	- ~~where the fuck would ssh go in general, it's not something reverse proxyable~~
		- Move SSH to router, use proxyjump from there
			- see if Auto proxy and fallback are options
			- can we do crowdsec and fail2ban on openwrt
	- if I fucked up a config, how could I recover without incurring downtime
- How the *fuck* do I handle storage
	- how do I do concurrent access, which services even allow that
		- how the ever loving fuck do I make syncthing work 
		- ~~the intent is graceful failover, but can I do load balancing?~~
			- I do not have a good reason to have multiple instances of, cap replicas at 1
			- at best, jellyfin might benefit from multiple GPUs but also nobody is using your instance 
		- some services use SQLite, is there a way to mitigate concurrency issues with that
			- on that note SQLite shits itself when FS access is too slow (eg NFS or ISCSI), how deal with that
	- How to gradually migrate to new setup from 6 BTRFS drives on one machine
		- The end goal is at least 3 nodes, but at some point there's only going to be 1 or 2
		- how would I minimize buying more storage/spending more money, while maintaining some redundancy
		- is the best option just `btrfs remove` -> move drive -> format drive -> copy files from btrfs to new drive?
		- new storage setup should be easy to add to (at a minimum, no homogenous drives)
	- Is tiered storage something I can make use of, could I grab an SSD and use it as cache somehow
	- how to give client devices and services access to the same filesystems
		- eg (accessing `/downloads` from `qbittorrent`, `sonarr` and my phone via NFS/SMB)

---
# Rook: does it solve my storage issues?

- Needs raw devices/partitions
	- requires migration
# Longhorn: will it do shit?