main @ 35 LINES
[ HISTORY ] [ UP ]
┌─ 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 mkContainerP │
│ ort; │
│ 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; │
│ }; │
│ }; │
│ }; │
│ } │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ NIX ────────────────────────────────┐
│ { │
│ config, │
│ lib, │
│ ook, │
│ self, │
│ ... │
│ }: let │
│ ookflixLib = import ./lib.nix {inherit lib │
│ config self;}; │
│ inherit (ookflixLib) mkServiceUser mkServi │
│ ceStateDir; │
│ inherit (lib) mkIf; │
│ inherit (ook.lib.container) mkContainerLab │
│ el mkContainerEnvironment mkContainerPort; │
│ inherit (config.ooknet.server.ookflix) gro │
│ ups; │
│ inherit (config.ooknet.server.ookflix.serv │
│ ices) homepage; │
│ in { │
│ config = mkIf homepage.enable { │
│ # media requesting for jellyfin │
│ users = mkServiceUser homepage.user.name │
│ ; │
│ systemd.tmpfiles.settings.homepageStateD │
│ ir = mkServiceStateDir "homepage"; │
│ virtualisation.oci-containers.containers │
│ = { │
│ homepage = { │
│ image = "ghcr.io/benphelps/homepage: │
│ latest"; │
│ autoStart = true; │
│ hostname = "homepage"; │
│ ports = [(mkContainerPort homepage.p │
│ ort)]; │
│ volumes = ["${homepage.stateDir}:/co │
│ nfig"]; │
│ labels = mkContainerLabel { │
│ name = "homepage"; │
│ inherit (homepage) domain port; │
│ }; │
│ environment = mkContainerEnvironment │
│ homepage.user.id groups.media.id; │
│ }; │
│ }; │
│ }; │
│ } │
└──────────────────────────────────────────────┘
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET