nix-stuff/roles/server/forgejo.nix

38 lines
1 KiB
Nix

{ config, lib, ... }:
{
specialisation.forgejoEnableRegistration.configuration.services.forgejo.settings.service.DISABLE_REGISTRATION = false;
services.forgejo = {
enable = true;
settings = {
service = {
DISABLE_REGISTRATION = lib.mkDefault true;
};
server = {
ROOT_URL = "http://git.everest.sable-pancake.ts.net";
START_SSH_SERVER = true;
SSH_PORT = 4222;
};
};
};
# Add a cname for forgejo
services.dnsmasq.settings.cname = [ "git.everest.sable-pancake.ts.net,everest" ];
# Set up traefik as the reverse proxy for Forgejo
services.traefik = {
dynamicConfigOptions = {
http = {
routers = {
forgejo-subpath = {
rule = "Host(`git.everest.sable-pancake.ts.net`)";
service = "forgejo";
};
};
services.forgejo.loadBalancer.servers = [
{ url = "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }
];
};
};
};
}