project-flake/servers/artemisia/forgejo.nix
2025-09-17 16:39:03 +07:00

40 lines
No EOL
853 B
Nix

{ lib, pkgs, config, ... }:
let
domain = "git.project-a.space";
ssh_port = 22;
http_port = 3000;
in {
services.forgejo = {
enable = true;
lfs.enable = true;
database.type = "postgres";
settings = {
server = {
DOMAIN = domain;
ROOT_URL = "https://${domain}/";
START_SSH_SERVER = true;
SSH_DOMAIN = domain;
SSH_PORT = ssh_port;
SSH_LISTEN_PORT = ssh_port;
SSH_LISTEN_HOST = "0.0.0.0";
HTTP_PORT = http_port;
};
actions = {
ENABLED = true;
DEFAULT_ACTIONS_URL = "github";
};
federation.ENABLED = true;
service.DISABLE_REGISTRATION = false;
ui.SHOW_USER_EMAIL = false;
};
};
systemd.sockets.forgejo = {
requiredBy = [ "forgejo.service" ];
wantedBy = [ "sockets.target" ];
listenStreams = [ (toString ssh_port) ];
};
networking.firewall.allowedTCPPorts = [ ssh_port ];
}