about summary refs log tree commit diff
path: root/nixos/modules/services/web-apps/lanraragi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/web-apps/lanraragi.nix')
-rw-r--r--nixos/modules/services/web-apps/lanraragi.nix93
1 files changed, 0 insertions, 93 deletions
diff --git a/nixos/modules/services/web-apps/lanraragi.nix b/nixos/modules/services/web-apps/lanraragi.nix
deleted file mode 100644
index 7b7fb01918bb..000000000000
--- a/nixos/modules/services/web-apps/lanraragi.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ pkgs, lib, config, ... }:
-
-let
-  cfg = config.services.lanraragi;
-in
-{
-  meta.maintainers = with lib.maintainers; [ tomasajt ];
-
-  options.services = {
-    lanraragi = {
-      enable = lib.mkEnableOption "LANraragi";
-      package = lib.mkPackageOption pkgs "lanraragi" { };
-
-      port = lib.mkOption {
-        type = lib.types.port;
-        default = 3000;
-        description = "Port for LANraragi's web interface.";
-      };
-
-      passwordFile = lib.mkOption {
-        type = lib.types.nullOr lib.types.path;
-        default = null;
-        example = "/run/keys/lanraragi-password";
-        description = ''
-          A file containing the password for LANraragi's admin interface.
-        '';
-      };
-
-      redis = {
-        port = lib.mkOption {
-          type = lib.types.port;
-          default = 6379;
-          description = "Port for LANraragi's Redis server.";
-        };
-        passwordFile = lib.mkOption {
-          type = lib.types.nullOr lib.types.path;
-          default = null;
-          example = "/run/keys/redis-lanraragi-password";
-          description = ''
-            A file containing the password for LANraragi's Redis server.
-          '';
-        };
-      };
-    };
-  };
-
-  config = lib.mkIf cfg.enable {
-    services.redis.servers.lanraragi = {
-      enable = true;
-      port = cfg.redis.port;
-      requirePassFile = cfg.redis.passwordFile;
-    };
-
-    systemd.services.lanraragi = {
-      description = "LANraragi main service";
-      after = [ "network.target" "redis-lanraragi.service" ];
-      requires = [ "redis-lanraragi.service" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        ExecStart = lib.getExe cfg.package;
-        DynamicUser = true;
-        StateDirectory = "lanraragi";
-        RuntimeDirectory = "lanraragi";
-        LogsDirectory = "lanraragi";
-        Restart = "on-failure";
-        WorkingDirectory = "/var/lib/lanraragi";
-      };
-      environment = {
-        "LRR_TEMP_DIRECTORY" = "/run/lanraragi";
-        "LRR_LOG_DIRECTORY" = "/var/log/lanraragi";
-        "LRR_NETWORK" = "http://*:${toString cfg.port}";
-        "HOME" = "/var/lib/lanraragi";
-      };
-      preStart = ''
-        cat > lrr.conf <<EOF
-        {
-          redis_address => "127.0.0.1:${toString cfg.redis.port}",
-          redis_password => "${lib.optionalString (cfg.redis.passwordFile != null) ''$(head -n1 ${cfg.redis.passwordFile})''}",
-          redis_database => "0",
-          redis_database_minion => "1",
-          redis_database_config => "2",
-          redis_database_search => "3",
-        }
-        EOF
-      '' + lib.optionalString (cfg.passwordFile != null) ''
-        ${lib.getExe pkgs.redis} -h 127.0.0.1 -p ${toString cfg.redis.port} ${lib.optionalString (cfg.redis.passwordFile != null) ''-a "$(head -n1 ${cfg.redis.passwordFile})"''}<<EOF
-          SELECT 2
-          HSET LRR_CONFIG password $(${cfg.package}/bin/helpers/lrr-make-password-hash $(head -n1 ${cfg.passwordFile}))
-        EOF
-      '';
-    };
-  };
-}