47 lines
1.1 KiB
Nix
47 lines
1.1 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
services.gitea = {
|
|
enable = true;
|
|
appName = "Git Server"; # A name for your Gitea instance
|
|
|
|
user = "git";
|
|
group = "git";
|
|
|
|
settings = {
|
|
server = {
|
|
PROTOCOL = "http"; # Use http for now, caddy will handle https
|
|
DOMAIN = "git.jelles.net";
|
|
ROOT_URL = "https://git.jelles.net/";
|
|
HTTP_ADDR = "127.0.0.1";
|
|
HTTP_PORT = 3001;
|
|
|
|
START_SSH_SERVER = false;
|
|
DISABLE_SSH = false; # Disable the built-in SSH server, use HTTPS for cloning
|
|
SSH_PORT = 22;
|
|
};
|
|
|
|
service = {
|
|
DISABLE_REGISTRATION = true; # Consider enabling for public instances
|
|
};
|
|
};
|
|
};
|
|
|
|
services.caddy.virtualHosts."git.jelles.net".extraConfig = "reverse_proxy :3001";
|
|
|
|
users.users.git = {
|
|
isSystemUser = true;
|
|
description = "Gitea Service User";
|
|
home = config.services.gitea.stateDir;
|
|
createHome = true;
|
|
homeMode = "750";
|
|
useDefaultShell = true;
|
|
group = "git";
|
|
};
|
|
|
|
users.groups.git = { };
|
|
|
|
systemd.tmpfiles.rules = [
|
|
"Z /var/lib/gitea 0750 git git - -"
|
|
];
|
|
}
|