katzen-cafe/modules/forgejo.nix
2024-01-25 10:05:55 +01:00

65 lines
1.5 KiB
Nix

{
pkgs,
pkgsUnstable,
...
}: {
users.users.gitea = {
home = "/var/lib/gitea";
useDefaultShell = true;
group = "gitea";
isSystemUser = true;
};
users.groups.gitea = {};
services.forgejo = {
enable = true;
package = pkgsUnstable.forgejo;
repositoryRoot = "/forgejo/repos";
stateDir = "/var/lib/gitea";
appName = "Katzenschmiede";
user = "gitea";
group = "gitea";
database = {
type = "postgres";
name = "gitea";
user = "gitea";
};
settings = {
openid = {
ENABLE_OPENID_SIGNIN = true;
};
federation = {
ENABLED = true;
};
server = {
ROOT_URL = "https://forge.katzen.cafe/";
HTTP_PORT = 8082;
DOMAIN = "forge.katzen.cafe";
START_SSH_SERVER = true;
SSH_PORT = 2222;
};
service = {
REGISTER_MANUAL_CONFIRM = true;
SHOW_REGISTRATION_BUTTON = false;
};
actions = {
ENABLED = true;
};
mailer = {
ENABLED = true;
FROM = "noreply@katzen.cafe";
PROTOCOL = "smtps";
SMTP_ADDR = "mail.katzen.cafe";
SMTP_PORT = 465;
USER = "noreply@katzen.cafe";
};
};
mailerPasswordFile = "/var/lib/secrets/noreply-mail-pw-plain";
};
deployment.keys = {
"noreply-mail-pw-plain" = {
keyCommand = ["pass" "mailpws/plain/noreply"];
destDir = "/var/lib/secrets";
permissions = "0604";
};
};
}