diff --git a/modules/server/containers/apps/nextcloud.nix b/modules/server/containers/apps/nextcloud.nix index 1ef07ac..c80f584 100644 --- a/modules/server/containers/apps/nextcloud.nix +++ b/modules/server/containers/apps/nextcloud.nix @@ -1,7 +1,17 @@ { config, containerCfg, pkgs, lib, builder, name,... }: let -version = "31"; -serverCfg = config.syscfg.server; + version = "31"; + serverCfg = config.syscfg.server; + mediaCfg = config.syscfg.media; + backgroundImage = if mediaCfg.banner.png != null then mediaCfg.banner.png else mediaCfg.bg; + backgroundFileName = builtins.baseNameOf (toString backgroundImage); + logoPngFileName = builtins.baseNameOf (toString mediaCfg.logo.png); + logoSvgFileName = builtins.baseNameOf (toString mediaCfg.logo.svg); + logoIcoFileName = builtins.baseNameOf (toString mediaCfg.logo.ico); + logoPngMount = "/var/www/html/theming/${logoPngFileName}"; + logoSvgMount = "/var/www/html/theming/${logoSvgFileName}"; + logoIcoMount = "/var/www/html/theming/${logoIcoFileName}"; + backgroundMount = "/var/www/html/theming/${backgroundFileName}"; in { requires = { secrets = [ name ]; @@ -50,6 +60,10 @@ in { volumes = [ "${serverCfg.path.config}/nextcloud:/var/www/html" "${serverCfg.path.cloud}:/var/www/html/data" + "${mediaCfg.logo.png}:${logoPngMount}:ro" + "${mediaCfg.logo.svg}:${logoSvgMount}:ro" + "${mediaCfg.logo.ico}:${logoIcoMount}:ro" + "${backgroundImage}:${backgroundMount}:ro" ]; }; }; @@ -168,21 +182,21 @@ in { '') containerCfg.extra.federatedServers or [])} $OCC config:app:set systemtags allow_user_creating --value="no" - echo "Applying Theme..." - $OCC config:app:set theming url --value="https://${containerCfg.subdomain}.${serverCfg.domain}" - ${lib.optionalString (containerCfg.extra ? name) ''$OCC config:app:set theming name --value="${containerCfg.extra.name}"''} - ${lib.optionalString (containerCfg.extra ? slogan) ''$OCC config:app:set theming slogan --value="${containerCfg.extra.slogan}"''} - $OCC config:app:set theming background_color --value="${serverCfg.colorScheme.palette.base02}" - $OCC config:app:set theming primary_color --value="${serverCfg.colorScheme.palette.base0C}" - - #$OCC theming:config logo {serverCfg.colorScheme.logo} - #$OCC theming:config logoheader {serverCfg.colorScheme.logo} - #$OCC theming:config background {serverCfg.colorScheme.bg} - else echo "Nextcloud is already installed. Skipping setup." fi + echo "Applying Theme..." + $OCC config:app:set theming url --value="https://${containerCfg.subdomain}.${serverCfg.domain}" + ${lib.optionalString (containerCfg.extra ? name) ''$OCC config:app:set theming name --value="${containerCfg.extra.name}"''} + ${lib.optionalString (containerCfg.extra ? slogan) ''$OCC config:app:set theming slogan --value="${containerCfg.extra.slogan}"''} + $OCC config:app:set theming background_color --value="${serverCfg.colorScheme.palette.base02}" + $OCC config:app:set theming primary_color --value="${serverCfg.colorScheme.palette.base0C}" + $OCC theming:config logo "${logoPngMount}" + $OCC theming:config logoheader "${logoSvgMount}" + $OCC theming:config favicon "${logoIcoMount}" + $OCC theming:config background "${backgroundMount}" + $OCC config:app:set serverinfo token --value="$HOMEPAGE_VAR_NEXTCLOUD_API" echo "Maintenance..."