nix-config/features/server/services/forgejo.nix
2024-08-17 12:21:04 +02:00

44 lines
1.1 KiB
Nix

{ config, lib, ... }:
{
imports = [ ./forgejo-smtp.nix ];
sops.secrets.smtp_address = { };
sops.secrets.smtp_password = {
owner = "forgejo";
};
sops.secrets.forgejoInitialMail = {
owner = "forgejo";
};
sops.secrets.forgejoInitialPassword = {
owner = "forgejo";
};
services.forgejo = {
enable = true;
lfs.enable = true;
database = {
type = "postgres";
};
settings = {
server = {
DOMAIN = "git.hypervirtual.world";
ROOT_URL = "https://git.hypervirtual.world";
HTTP_PORT = 3333;
};
actions = {
ENABLED = true;
DEFAULT_ACTIONS_URL = "github";
};
mailer = {
ENABLED = true;
};
service.DISABLE_REGISTRATION = true;
};
mailerPasswordFile = config.sops.secrets.smtp_password.path;
};
systemd.services.forgejo.preStart = ''
create="${lib.getExe config.services.forgejo.package} admin user create"
$create --admin --email "`cat ${config.sops.secrets.forgejoInitialMail.path}`" --username you --password "`cat ${config.sops.secrets.forgejoInitialPassword.path}`" &>/dev/null || true
'';
}