fix sso setup for nextcloud

We need to switch to a systemd service running before nextcloud-setup
because the secret file is now loaded with LoadCredential, which
means it must exist before the systemd service starts
This commit is contained in:
ibizaman 2025-06-24 18:52:03 +02:00 committed by Pierre Penninckx
parent a37c539e02
commit 56e837aaa0

View file

@ -1076,15 +1076,21 @@ in
${occ} app:enable oidc_login
'';
systemd.services.nextcloud-setup.preStart =
''
mkdir -p ${cfg.dataDir}/config
cat <<EOF > "${cfg.dataDir}/config/secretFile"
{
"oidc_login_client_secret": "$(cat ${cfg.apps.sso.secret.result.path})"
}
EOF
'';
systemd.services.nextcloud-setup-pre = {
wantedBy = [ "multi-user.target" ];
before = [ "nextcloud-setup.service" ];
serviceConfig.Type = "oneshot";
serviceConfig.User = "nextcloud";
script =
''
mkdir -p ${cfg.dataDir}/config
cat <<EOF > "${cfg.dataDir}/config/secretFile"
{
"oidc_login_client_secret": "$(cat ${cfg.apps.sso.secret.result.path})"
}
EOF
'';
};
services.nextcloud = {
secretFile = "${cfg.dataDir}/config/secretFile";