diff --git a/hosts/music-server/configuration.nix b/hosts/music-server/configuration.nix index 10c9516..8c26407 100644 --- a/hosts/music-server/configuration.nix +++ b/hosts/music-server/configuration.nix @@ -57,6 +57,7 @@ flake = "/home/user/nix-config"; }; + virtualisation.docker.enable = true; services.tailscale.enable = true; services.rsync.enable = true; programs.nix-ld.enable = true; diff --git a/hosts/music-server/packages.nix b/hosts/music-server/packages.nix index 8c651b4..4f9f8fb 100644 --- a/hosts/music-server/packages.nix +++ b/hosts/music-server/packages.nix @@ -20,6 +20,7 @@ mp3val flac nitch + openssl (python314.withPackages ( ps: with ps; [ requests diff --git a/modules/server/default.nix b/modules/server/default.nix index f73b943..76c89e3 100644 --- a/modules/server/default.nix +++ b/modules/server/default.nix @@ -1,10 +1,9 @@ { imports = [ + ./shares ./slskd.nix ./navidrome.nix - ./nfs.nix ./services.nix - ./smb.nix ./zfs.nix ./firewall.nix ../scripts.nix diff --git a/modules/server/firewall.nix b/modules/server/firewall.nix index df4f0bb..4d6f3ec 100644 --- a/modules/server/firewall.nix +++ b/modules/server/firewall.nix @@ -5,5 +5,9 @@ 2049 445 5030 + 3900 + 3901 + 3902 + 3903 ]; } diff --git a/modules/server/shares/default.nix b/modules/server/shares/default.nix new file mode 100644 index 0000000..6a9a2dd --- /dev/null +++ b/modules/server/shares/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ./garage.nix + ./smb.nix + ./nfs.nix + ]; +} diff --git a/modules/server/shares/garage.nix b/modules/server/shares/garage.nix new file mode 100644 index 0000000..0ff0e00 --- /dev/null +++ b/modules/server/shares/garage.nix @@ -0,0 +1,29 @@ +{ pkgs, ... }: +{ + services.garage = { + enable = false; + package = pkgs.garage; + environmentFile = "/home/user/garage_secrets"; + settings = { + db_engine = "sqlite"; + + rpc_bind_addr = "0.0.0.0:3901"; + # rpc_public_addr = "garage.example.com:3901"; + + replication_factor = 1; + + s3_api = { + s3_region = "garage"; + api_bind_addr = "0.0.0.0:3900"; + }; + + # s3_web = { + # bind_addr = "0.0.0.0:3902"; + # }; + + admin = { + api_bind_addr = "0.0.0.0:3903"; + }; + }; + }; +} diff --git a/modules/server/nfs.nix b/modules/server/shares/nfs.nix similarity index 100% rename from modules/server/nfs.nix rename to modules/server/shares/nfs.nix diff --git a/modules/server/smb.nix b/modules/server/shares/smb.nix similarity index 100% rename from modules/server/smb.nix rename to modules/server/shares/smb.nix diff --git a/modules/server/zfs.nix b/modules/server/zfs.nix index cca2052..3686008 100644 --- a/modules/server/zfs.nix +++ b/modules/server/zfs.nix @@ -36,4 +36,8 @@ services.zfs.autoScrub.enable = true; swapDevices = [ ]; + + services.zfs.autoSnapshot = { + enable = true; + }; }