nixos/hosts/astral/forgejo.nix

38 lines
937 B
Nix

{ config, pkgs, ... }:
let domain = "git.leaf.ninja";
in {
services.forgejo = {
enable = true;
database.type = "postgres";
lfs.enable = true;
settings = {
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}/";
HTTP_PORT = 3000;
};
service.DISABLE_REGISTRATION = true;
mailer = {
ENABLED = true;
SMTP_ADDR = "smtp.migadu.com";
FROM = "forgejo@leaf.ninja";
USER = "forgejo@$leaf.ninja";
};
webhook.ALLOWED_HOST_LIST =
pkgs.lib.concatStringsSep "," [ "localhost" "::1" ];
};
secrets = {
mailer.PASSWD = config.age.secrets.forgejo-mailer-password.path;
};
};
services.caddy.virtualHosts.${domain}.extraConfig = ''
reverse_proxy localhost:3000
'';
age.secrets.forgejo-mailer-password = {
file = ./secrets/forgejo-mailer-password.age;
mode = "400";
owner = "forgejo";
};
}