clean on boot, limit journald, and precreate forgejo user
This commit is contained in:
parent
5092d1bc8b
commit
f16a512252
2 changed files with 16 additions and 4 deletions
|
|
@ -52,11 +52,15 @@
|
||||||
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
nodejs
|
|
||||||
pnpm
|
|
||||||
sqlite
|
sqlite
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.tmp.cleanOnBoot = true;
|
||||||
|
|
||||||
|
services.journald.extraConfig = ''
|
||||||
|
SystemMaxUse=500M
|
||||||
|
'';
|
||||||
|
|
||||||
services.caddy.enable = true;
|
services.caddy.enable = true;
|
||||||
services.caddy.email = "lew@ily.rs";
|
services.caddy.email = "lew@ily.rs";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,16 @@ in
|
||||||
systemd.services.forgejo.preStart = let
|
systemd.services.forgejo.preStart = let
|
||||||
adminCmd = "${lib.getExe cfg.package} admin user";
|
adminCmd = "${lib.getExe cfg.package} admin user";
|
||||||
pwd = config.sops.secrets.forgejo-admin-password;
|
pwd = config.sops.secrets.forgejo-admin-password;
|
||||||
|
marker = "${cfg.stateDir}/.admin-bootstrapped";
|
||||||
in lib.mkAfter ''
|
in lib.mkAfter ''
|
||||||
|
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" \
|
${adminCmd} create --admin --email "lew@ily.rs" \
|
||||||
--username lew --password "$(tr -d '\n' < ${pwd.path})" || true
|
--username lew --password "$(tr -d '\n' < ${pwd.path})"
|
||||||
|
fi
|
||||||
|
touch ${marker}
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue