rec { zpool_ssds = "tank"; zpool_hdds = "hdds"; torrents_path = "/torrents"; services_dir = "/services"; music_dir = "/${zpool_ssds}/music"; media_group = "media"; cpu_arch = "znver3"; ports = { # public http = 80; https = 443; minecraft = 25565; syncthing_protocol = 22000; syncthing_discovery = 21027; matrix_federation = 8448; coturn = 3478; coturn_tls = 5349; livekit = 7880; soulseek_listen = 50300; # private jellyfin = 8096; # no services.jellyfin option for this torrent = 6011; bitmagnet = 3333; gitea = 2283; immich = 2284; soulseek_web = 5030; vaultwarden = 8222; syncthing_gui = 8384; matrix = 6167; ntfy = 2586; lk_jwt = 8081; prowlarr = 9696; sonarr = 8989; radarr = 7878; bazarr = 6767; jellyseerr = 5055; }; https = { certs = services_dir + "/http_certs"; domain = "gardling.com"; }; gitea = { dir = services_dir + "/gitea"; domain = "git.${https.domain}"; }; postgres = { socket = "/run/postgresql"; dataDir = services_dir + "/sql"; }; immich = { dir = services_dir + "/immich"; }; minecraft = { parent_dir = services_dir + "/minecraft"; server_name = "main"; memory = rec { heap_size_m = 4000; large_page_size_m = 2; }; }; torrent = { SavePath = torrents_path; TempPath = torrents_path + "/incomplete"; }; jellyfin = { dataDir = services_dir + "/jellyfin"; cacheDir = services_dir + "/jellyfin_cache"; }; slskd = rec { base = "/var/lib/slskd"; downloads = base + "/downloads"; incomplete = base + "/incomplete"; }; vaultwarden = { path = "/var/lib/vaultwarden"; }; monero = { dataDir = services_dir + "/monero"; }; matrix = { dataDir = "/var/lib/continuwuity"; domain = "matrix.${https.domain}"; }; ntfy = { domain = "ntfy.${https.domain}"; }; livekit = { domain = "livekit.${https.domain}"; }; syncthing = { dataDir = services_dir + "/syncthing"; signalBackupDir = "/${zpool_ssds}/bak/signal"; grayjayBackupDir = "/${zpool_ssds}/bak/grayjay"; }; prowlarr = { dataDir = services_dir + "/prowlarr"; }; sonarr = { dataDir = services_dir + "/sonarr"; }; radarr = { dataDir = services_dir + "/radarr"; }; bazarr = { dataDir = services_dir + "/bazarr"; }; jellyseerr = { configDir = services_dir + "/jellyseerr"; }; recyclarr = { dataDir = services_dir + "/recyclarr"; }; media = { moviesDir = torrents_path + "/media/movies"; tvDir = torrents_path + "/media/tv"; }; }