From a48829bbe6691bcc8a88a2b1e93c487edf0ccc8e Mon Sep 17 00:00:00 2001 From: sajenim Date: Sun, 21 Jan 2024 21:00:41 +0800 Subject: [PATCH] refactor containers --- .../{dashboard/default.nix => dashboard.nix} | 8 ++++++ nixos/viridian/containers/default.nix | 10 +++++++ .../viridian/containers/microbin/default.nix | 26 ------------------- .../default.nix => multimedia.nix} | 23 +++++++++++++++- 4 files changed, 40 insertions(+), 27 deletions(-) rename nixos/viridian/containers/{dashboard/default.nix => dashboard.nix} (77%) create mode 100644 nixos/viridian/containers/default.nix delete mode 100644 nixos/viridian/containers/microbin/default.nix rename nixos/viridian/containers/{multimedia/default.nix => multimedia.nix} (91%) diff --git a/nixos/viridian/containers/dashboard/default.nix b/nixos/viridian/containers/dashboard.nix similarity index 77% rename from nixos/viridian/containers/dashboard/default.nix rename to nixos/viridian/containers/dashboard.nix index 230f992..0ef465f 100644 --- a/nixos/viridian/containers/dashboard/default.nix +++ b/nixos/viridian/containers/dashboard.nix @@ -21,4 +21,12 @@ ]; }; }; + + environment.persistence."/persist" = { + directories = [ + "/var/lib/homarr/configs" + "/var/lib/homarr/icons" + "/var/lib/homarr/data" + ]; + }; } diff --git a/nixos/viridian/containers/default.nix b/nixos/viridian/containers/default.nix new file mode 100644 index 0000000..6cdc4f3 --- /dev/null +++ b/nixos/viridian/containers/default.nix @@ -0,0 +1,10 @@ +{ ... }: + +{ + imports = [ + ./dashboard.nix + ./multimedia.nix + ]; + + virtualisation.oci-containers.backend = "docker"; +} diff --git a/nixos/viridian/containers/microbin/default.nix b/nixos/viridian/containers/microbin/default.nix deleted file mode 100644 index 092574c..0000000 --- a/nixos/viridian/containers/microbin/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, inputs, ... }: - -{ - age.secrets.microbin = { - # Environment variables for microbin - file = inputs.self + /secrets/microbin.age; - owner = "root"; - group = "root"; - }; - - virtualisation.oci-containers.containers = { - microbin = { - autoStart = true; - image = "danielszabo99/microbin:2.0.4"; - ports = [ - "8181:8080/tcp" - ]; - volumes = [ - "/var/lib/microbin:/app/microbin_data:rw" - ]; - environmentFiles = [ - config.age.secrets.microbin.path - ]; - }; - }; -} diff --git a/nixos/viridian/containers/multimedia/default.nix b/nixos/viridian/containers/multimedia.nix similarity index 91% rename from nixos/viridian/containers/multimedia/default.nix rename to nixos/viridian/containers/multimedia.nix index 2b77eed..5a88c8f 100644 --- a/nixos/viridian/containers/multimedia/default.nix +++ b/nixos/viridian/containers/multimedia.nix @@ -25,6 +25,7 @@ "--network=media-stack" ]; }; + # PVR for Usenet and BitTorrent users sonarr = { autoStart = true; @@ -42,6 +43,7 @@ "--network=media-stack" ]; }; + # Movie collection manager for Usenet and BitTorrent users radarr = { autoStart = true; @@ -59,6 +61,7 @@ "--network=media-stack" ]; }; + # # Music collection manager for Usenet and BitTorrent users lidarr = { autoStart = true; @@ -76,6 +79,7 @@ "--network=media-stack" ]; }; + # Indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. prowlarr = { autoStart = true; @@ -91,6 +95,7 @@ "--network=media-stack" ]; }; + # Automatically synchronize recommended settings from the TRaSH guides to your Sonarr/Radarr instances recyclarr = { autoStart = true; @@ -102,6 +107,7 @@ "--network=media-stack" ]; }; + # # Open-source software alternative to µTorrent qbittorrent = { autoStart = true; @@ -119,6 +125,8 @@ "--network=media-stack" ]; }; + + # Request management jellyseerr = { autoStart = true; image = "ghcr.io/hotio/jellyseerr"; @@ -133,6 +141,19 @@ ]; }; }; - virtualisation.oci-containers.backend = "docker"; + + environment.persistence."/persist" = { + directories = [ + "/var/lib/jellyfin/config" + "/var/lib/jellyfin/cache" + "/var/lib/sonarr" + "/var/lib/radarr" + "/var/lib/lidarr" + "/var/lib/prowlarr" + "/var/lib/recyclarr" + "/var/lib/qbittorrent" + "/var/lib/jellyseerr" + ]; + }; }