grimm-nix-server/modules/gitea.nix

47 lines
1.2 KiB
Nix
Raw Normal View History

{ lib, config, inputs, pkgs, ... }:
let
2024-05-08 20:45:41 +02:00
inherit (config.networking) domain;
gitea_host = "git.${domain}";
gitea_port = 8081;
2024-05-08 20:23:42 +02:00
gitea_ssh_port = 2222;
in {
services.gitea = {
enable = true;
settings = {
service.DISABLE_REGISTRATION = true;
server = {
HTTP_PORT = gitea_port;
ROOT_URL = "https://${gitea_host}/";
2024-05-08 20:23:42 +02:00
DISABLE_SSH = false;
2024-05-08 20:45:41 +02:00
SSH_DOMAIN = domain;
2024-05-08 20:23:42 +02:00
START_SSH_SERVER = true;
BUILTIN_SSH_SERVER_USER = "git";
SSH_PORT = gitea_ssh_port;
# SSH_LISTEN_HOST="::"; # fixme?
# SSH_AUTHORIZED_PRINCIPALS_ALLOW="username";
};
# log.LEVEL = "Debug";
"ssh.minimum_key_sizes".RSA = 2048;
2024-05-08 20:23:42 +02:00
"git.timeout".MIGRATE = 6000;
};
lfs.enable = true;
};
2024-05-08 20:23:42 +02:00
2024-05-08 20:45:41 +02:00
security.acme.certs."${domain}".extraDomainNames = [ gitea_host];
2024-05-08 20:23:42 +02:00
networking.firewall.allowedTCPPorts = [ gitea_ssh_port ];
services.nginx = {
enable = true;
virtualHosts."${gitea_host}" = {
serverName = gitea_host;
forceSSL = true;
2024-05-08 20:45:41 +02:00
useACMEHost = domain;
locations."/" = {
2023-12-31 09:57:22 +01:00
proxyPass = "http://127.0.0.1:${builtins.toString config.services.gitea.settings.server.HTTP_PORT}";
};
};
};
}