ooknet/modules/nixos/server/services/ookflix/homepage.nix
2024-12-04 13:19:54 +11:00

34 lines
1.1 KiB
Nix

{
config,
lib,
ook,
self,
...
}: let
ookflixLib = import ./lib.nix {inherit lib config self;};
inherit (ookflixLib) mkServiceUser mkServiceStateDir;
inherit (lib) mkIf;
inherit (ook.lib.container) mkContainerLabel mkContainerEnvironment mkContainerPort;
inherit (config.ooknet.server.ookflix) groups;
inherit (config.ooknet.server.ookflix.services) homepage;
in {
config = mkIf homepage.enable {
# media requesting for jellyfin
users = mkServiceUser homepage.user.name;
systemd.tmpfiles.settings.homepageStateDir = mkServiceStateDir "homepage";
virtualisation.oci-containers.containers = {
homepage = {
image = "ghcr.io/benphelps/homepage:latest";
autoStart = true;
hostname = "homepage";
ports = [(mkContainerPort homepage.port)];
volumes = ["${homepage.stateDir}:/config"];
labels = mkContainerLabel {
name = "homepage";
inherit (homepage) domain port;
};
environment = mkContainerEnvironment homepage.user.id groups.media.id;
};
};
};
}