clean on boot, limit journald, and precreate forgejo user

This commit is contained in:
Lewis Wynne 2026-04-29 14:00:43 +01:00
parent 5092d1bc8b
commit f16a512252
2 changed files with 16 additions and 4 deletions

View file

@ -47,8 +47,16 @@ in
systemd.services.forgejo.preStart = let
adminCmd = "${lib.getExe cfg.package} admin user";
pwd = config.sops.secrets.forgejo-admin-password;
marker = "${cfg.stateDir}/.admin-bootstrapped";
in lib.mkAfter ''
${adminCmd} create --admin --email "lew@ily.rs" \
--username lew --password "$(tr -d '\n' < ${pwd.path})" || true
if [ ! -e ${marker} ]; then
if ${adminCmd} list | grep -qE '^[0-9]+\s+lew\s'; then
echo "admin user 'lew' already exists, marking bootstrapped"
else
${adminCmd} create --admin --email "lew@ily.rs" \
--username lew --password "$(tr -d '\n' < ${pwd.path})"
fi
touch ${marker}
fi
'';
}