]);
env = config.myEnv.tools.nextcloud;
varDir = "/var/lib/nextcloud";
- webappName = "tools_nextcloud";
- apacheRoot = "/run/current-system/webapps/${webappName}";
cfg = config.myServices.websites.tools.cloud;
phpFpm = rec {
basedir = builtins.concatStringsSep ":" ([ nextcloud varDir ] ++ nextcloud.apps);
certName = "eldiron";
addToCerts = true;
hosts = ["cloud.immae.eu" ];
- root = apacheRoot;
+ root = nextcloud;
extraConfig = [
''
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
- <Directory ${apacheRoot}>
+ <Directory ${nextcloud}>
AcceptPathInfo On
DirectoryIndex index.php
Options FollowSymlinks
];
};
- secrets.keys = [{
- dest = "webapps/tools-nextcloud";
+ secrets.keys."webapps/tools-nextcloud" = {
user = "wwwrun";
group = "wwwrun";
permissions = "0600";
'has_rebuilt_cache' => true,
);
'';
- }];
+ };
users.users.root.packages = let
occ = pkgs.writeScriptBin "nextcloud-occ" ''
#! ${pkgs.stdenv.shell}
cd ${nextcloud}
NEXTCLOUD_CONFIG_DIR="${nextcloud}/config" \
exec \
- sudo -u wwwrun ${pkgs.php74}/bin/php \
+ sudo -E -u wwwrun ${pkgs.php74}/bin/php \
-c ${pkgs.php74}/etc/php.ini \
occ $*
'';
${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: v:
"install -D -m 0644 -o wwwrun -g wwwrun -T ${v} ${varDir}/config/${n}.json"
) confs)}
- #install -D -m 0600 -o wwwrun -g wwwrun -T /var/secrets/webapps/tools-nextcloud ${varDir}/config/config.php
+ #install -D -m 0600 -o wwwrun -g wwwrun -T ${config.secrets.fullPaths."webapps/tools-nextcloud"} ${varDir}/config/config.php
'';
};
- # FIXME: add a warning when config.php changes
- system.extraSystemBuilderCmds = ''
- mkdir -p $out/webapps
- ln -s ${nextcloud} $out/webapps/${webappName}
- '';
services.phpfpm.pools.nextcloud = {
user = "wwwrun";
#! ${pkgs.stdenv.shell}
export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
export PATH=/run/wrappers/bin:$PATH
- ${pkgs.php74}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
+ ${pkgs.php74}/bin/php -d memory_limit=2048M -f ${nextcloud}/cron.php
'';
in [
''