home-lab/machines/sleeper-service/services/transmission.nix
Geir Okkenhaug Jerstad 967ba38411 Implement media group for NFS permission management
- Create shared media-group.nix module with fixed GID (993)
- Add both geir and sma users to media group for shared NFS access
- Update NFS server configuration to use root:media ownership with 0775 permissions
- Convert all media services to use media group instead of users group:
  - Jellyfin, Calibre-web, Audiobookshelf, Transmission
- Enable group write access to all NFS shares (/mnt/storage/*)
- Maintain security with root ownership while allowing group collaboration

This resolves NFS permission issues by providing consistent group-based access
control across all media services and storage directories.
2025-06-11 09:33:24 +02:00

26 lines
736 B
Nix

{ config, pkgs, ... }:
{
imports = [
../../../modules/users/media-group.nix
];
services.transmission = {
package = pkgs.transmission_4;
enable = true;
user = "sma"; # Using admin user for server processes
group = "media";
settings.rpc-port = 9091;
settings.rpc-bind-address = "0.0.0.0";
downloadDirPermissions = "775";
settings = {
download-dir = "/mnt/storage/downloads";
rpc-whitelist = "127.0.0.1,10.0.0.*,100.*.*.*";
rpc-host-whitelist = "sleeper-service,localhost,congenital-optimist";
};
};
# Downloads directory ownership will be handled by NFS module tmpfiles rules
# Removed duplicate tmpfiles rule since NFS module already creates this directory
}
}