From 621d33742c418cbfd92be30f6648e53a8d28855c Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 4 Apr 2025 16:59:26 +0100 Subject: [PATCH] Remove unused homelab packages --- hosts/nixedo/configuration.nix | 6 - .../nixos/homelab/containers/beaverhabits.nix | 102 ------ modules/nixos/homelab/containers/default.nix | 3 - modules/nixos/homelab/containers/freshrss.nix | 109 ------- .../homelab/containers/tubearchivist.nix | 296 ------------------ modules/nixos/homelab/default.nix | 2 - modules/nixos/homelab/gitea.nix | 36 --- modules/nixos/homelab/vaultwarden.nix | 31 -- 8 files changed, 585 deletions(-) delete mode 100644 modules/nixos/homelab/containers/beaverhabits.nix delete mode 100644 modules/nixos/homelab/containers/freshrss.nix delete mode 100644 modules/nixos/homelab/containers/tubearchivist.nix delete mode 100644 modules/nixos/homelab/gitea.nix delete mode 100644 modules/nixos/homelab/vaultwarden.nix diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index ccb72f3c..031f3cf8 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -17,17 +17,11 @@ nixosModules = { audiobookshelf.enable = true; - beaverhabits.enable = true; docker.enable = true; - dwm.enable = true; - freshrss.enable = true; - gitea.enable = true; immich.enable = true; jellyfin.enable = true; paperless.enable = true; pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; }; programs.dconf.enable = true; diff --git a/modules/nixos/homelab/containers/beaverhabits.nix b/modules/nixos/homelab/containers/beaverhabits.nix deleted file mode 100644 index d329c96d..00000000 --- a/modules/nixos/homelab/containers/beaverhabits.nix +++ /dev/null @@ -1,102 +0,0 @@ -# Auto-generated using compose2nix v0.3.2-pre. -{ - config, - pkgs, - lib, - ... -}: - -with lib; - -let - cfg = config.nixosModules.beaverhabits; - - port = 8084; -in -{ - options.nixosModules.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; - - config = mkIf cfg.enable { - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; - }; - - oci-containers = { - backend = "docker"; - - containers."beaverhabits" = { - image = "daya0576/beaverhabits:latest"; - - environment = { - "HABITS_STORAGE" = "DATABASE"; - }; - - volumes = [ - "/mnt/media/beaverhabits:/app/.user:rw" - ]; - - ports = [ - "${toString port}:8080/tcp" - ]; - - user = "1000:1000"; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=beaverhabits" - "--network=beaverhabits_default" - ]; - }; - }; - }; - - systemd = { - services = { - "docker-beaverhabits" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ "docker-network-beaverhabits_default.service" ]; - requires = [ "docker-network-beaverhabits_default.service" ]; - partOf = [ "docker-compose-beaverhabits-root.target" ]; - wantedBy = [ "docker-compose-beaverhabits-root.target" ]; - }; - - "docker-network-beaverhabits_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f beaverhabits_default"; - }; - - script = '' - docker network inspect beaverhabits_default || docker network create beaverhabits_default - ''; - - partOf = [ "docker-compose-beaverhabits-root.target" ]; - wantedBy = [ "docker-compose-beaverhabits-root.target" ]; - }; - }; - - targets."docker-compose-beaverhabits-root" = { - unitConfig.Description = "Root target generated by compose2nix."; - wantedBy = [ "multi-user.target" ]; - }; - }; - - services.caddy.virtualHosts."beaverhabits.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/containers/default.nix b/modules/nixos/homelab/containers/default.nix index 41013da6..5132a01b 100644 --- a/modules/nixos/homelab/containers/default.nix +++ b/modules/nixos/homelab/containers/default.nix @@ -1,8 +1,5 @@ { imports = [ - ./beaverhabits.nix - ./freshrss.nix ./pi-hole.nix - ./tubearchivist.nix ]; } diff --git a/modules/nixos/homelab/containers/freshrss.nix b/modules/nixos/homelab/containers/freshrss.nix deleted file mode 100644 index cb6514e7..00000000 --- a/modules/nixos/homelab/containers/freshrss.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.nixosModules.freshrss; - port = 4003; -in -{ - options.nixosModules.freshrss.enable = mkEnableOption "Enable freshrss"; - - config = mkIf cfg.enable { - # Auto-generated using compose2nix v0.3.2-pre. - virtualisation = { - docker = { - enable = true; - autoPrune.enable = true; - }; - - oci-containers.backend = "docker"; - }; - - virtualisation.oci-containers.containers."freshrss" = { - image = "lscr.io/linuxserver/freshrss:latest"; - - environment = { - "PGID" = "1000"; - "PUID" = "1000"; - "TZ" = "Etc/UTC"; - }; - - volumes = [ - "/home/opdavies/Code/dotfiles/freshrss-config:/config:rw" - ]; - - ports = [ - "${toString port}:80/tcp" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=freshrss" - "--network=freshrss_default" - ]; - }; - - systemd.services."docker-freshrss" = { - serviceConfig = { - Restart = lib.mkOverride 90 "always"; - RestartMaxDelaySec = lib.mkOverride 90 "1m"; - RestartSec = lib.mkOverride 90 "100ms"; - RestartSteps = lib.mkOverride 90 9; - }; - - after = [ - "docker-network-freshrss_default.service" - ]; - - requires = [ - "docker-network-freshrss_default.service" - ]; - - partOf = [ - "docker-compose-freshrss-root.target" - ]; - - wantedBy = [ - "docker-compose-freshrss-root.target" - ]; - }; - - systemd.services."docker-network-freshrss_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f freshrss_default"; - }; - - script = '' - docker network inspect freshrss_default || docker network create freshrss_default - ''; - - partOf = [ "docker-compose-freshrss-root.target" ]; - wantedBy = [ "docker-compose-freshrss-root.target" ]; - }; - - systemd.targets."docker-compose-freshrss-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; - - services.caddy.virtualHosts."freshrss.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/containers/tubearchivist.nix b/modules/nixos/homelab/containers/tubearchivist.nix deleted file mode 100644 index 5abf4944..00000000 --- a/modules/nixos/homelab/containers/tubearchivist.nix +++ /dev/null @@ -1,296 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -with lib; - -let - cfg = config.nixosModules.tubearchivist-container; - - port = 8085; - url = "tubearchivist.oliverdavies.uk"; -in -{ - options.nixosModules.tubearchivist-container = { - enable = mkEnableOption "Enable the tubearchivist-container service."; - }; - - config = mkIf cfg.enable { - virtualisation.docker = { - enable = true; - autoPrune.enable = true; - }; - - virtualisation.oci-containers.backend = "docker"; - - virtualisation.oci-containers.containers."archivist-es" = { - image = "bbilly1/tubearchivist-es"; - - environment = { - "ES_JAVA_OPTS" = "-Xms1g -Xmx1g"; - "discovery.type" = "single-node"; - "path.repo" = "/usr/share/elasticsearch/data/snapshot"; - "xpack.security.enabled" = "true"; - }; - - environmentFiles = [ - config.age.secrets.tubearchivist.path - ]; - - volumes = [ - "tubearchivist_es:/usr/share/elasticsearch/data:rw" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=archivist-es" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-archivist-es" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_es.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_es.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - virtualisation.oci-containers.containers."archivist-redis" = { - image = "redis/redis-stack-server"; - - volumes = [ - "tubearchivist_redis:/data:rw" - ]; - - dependsOn = [ - "archivist-es" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--network-alias=archivist-redis" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-archivist-redis" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_redis.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_redis.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - virtualisation.oci-containers.containers."tubearchivist" = { - image = "bbilly1/tubearchivist"; - - environment = { - "ES_URL" = "http://archivist-es:9200"; - "HOST_GID" = "1000"; - "HOST_UID" = "1000"; - "REDIS_HOST" = "archivist-redis"; - "TA_HOST" = url; - "TZ" = "Europe/London"; - }; - - environmentFiles = [ - config.age.secrets.tubearchivist.path - ]; - - volumes = [ - "/mnt/media/tubearchivist_cache:/cache:rw" - "/mnt/media/tubearchivist_media:/youtube:rw" - ]; - - ports = [ - "${toString port}:8000/tcp" - ]; - - dependsOn = [ - "archivist-es" - "archivist-redis" - ]; - - log-driver = "journald"; - - extraOptions = [ - "--health-cmd=[\"curl\", \"-f\", \"http://localhost:8000/health\"]" - "--health-interval=2m0s" - "--health-retries=3" - "--health-start-period=30s" - "--health-timeout=10s" - "--network-alias=tubearchivist" - "--network=tubearchivist_default" - ]; - }; - - systemd.services."docker-tubearchivist" = { - serviceConfig = { - Restart = mkOverride 90 "always"; - RestartMaxDelaySec = mkOverride 90 "1m"; - RestartSec = mkOverride 90 "100ms"; - RestartSteps = mkOverride 90 9; - }; - - after = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_cache.service" - "docker-volume-tubearchivist_media.service" - ]; - - requires = [ - "docker-network-tubearchivist_default.service" - "docker-volume-tubearchivist_cache.service" - "docker-volume-tubearchivist_media.service" - ]; - - partOf = [ - "docker-compose-tubearchivist-root.target" - ]; - - wantedBy = [ - "docker-compose-tubearchivist-root.target" - ]; - }; - - systemd.services."docker-network-tubearchivist_default" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStop = "docker network rm -f tubearchivist_default"; - }; - - script = '' - docker network inspect tubearchivist_default || docker network create tubearchivist_default - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_cache" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_cache || docker volume create tubearchivist_cache - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - - }; - - systemd.services."docker-volume-tubearchivist_es" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_es || docker volume create tubearchivist_es - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_media" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_media || docker volume create tubearchivist_media - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.services."docker-volume-tubearchivist_redis" = { - path = [ pkgs.docker ]; - - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - - script = '' - docker volume inspect tubearchivist_redis || docker volume create tubearchivist_redis - ''; - - partOf = [ "docker-compose-tubearchivist-root.target" ]; - wantedBy = [ "docker-compose-tubearchivist-root.target" ]; - }; - - systemd.targets."docker-compose-tubearchivist-root" = { - unitConfig = { - Description = "Root target generated by compose2nix."; - }; - - wantedBy = [ "multi-user.target" ]; - }; - - services.caddy.virtualHosts."tubearchivist.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; -} diff --git a/modules/nixos/homelab/default.nix b/modules/nixos/homelab/default.nix index 56d4b531..d0cdbca4 100644 --- a/modules/nixos/homelab/default.nix +++ b/modules/nixos/homelab/default.nix @@ -3,10 +3,8 @@ ./audiobookshelf.nix ./containers ./forgejo.nix - ./gitea.nix ./immich.nix ./jellyfin.nix ./paperless.nix - ./vaultwarden.nix ]; } diff --git a/modules/nixos/homelab/gitea.nix b/modules/nixos/homelab/gitea.nix deleted file mode 100644 index 811146c1..00000000 --- a/modules/nixos/homelab/gitea.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ config, lib, ... }: - -with lib; - -let - port = 2222; -in -{ - options.nixosModules.gitea.enable = mkEnableOption "Enable gitea"; - - config = mkIf config.nixosModules.gitea.enable { - services = { - gitea = { - enable = true; - group = "media"; - stateDir = "/mnt/media/gitea"; - - settings = { - server = { - HTTP_PORT = port; - }; - - service = { - DISABLE_REGISTRATION = true; - }; - }; - }; - - caddy.virtualHosts."gitea.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString port}"; - }; - }; - }; -} diff --git a/modules/nixos/homelab/vaultwarden.nix b/modules/nixos/homelab/vaultwarden.nix deleted file mode 100644 index 17ef88b6..00000000 --- a/modules/nixos/homelab/vaultwarden.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, ... }: - -with lib; - -{ - options.nixosModules.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; - - config = mkIf config.nixosModules.vaultwarden.enable { - services = { - vaultwarden = { - enable = true; - - config = { - DOMAIN = "https://vaultwarden.oliverdavies.uk"; - - # TODO: check registrations are disabled. - SIGNUPS_ALLOWED = false; - - ROCKET_ADDRESS = "127.0.0.1"; - ROCKET_PORT = 8222; - }; - }; - - caddy.virtualHosts."vaultwarden.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; - - extraConfig = "reverse_proxy localhost:${toString config.services.vaultwarden.config.ROCKET_PORT}"; - }; - }; - }; -}