nix-config/hosts/containers/gitea/modules/gitea.nix

70 lines
1.6 KiB
Nix

{ config, pkgs, ... }:
{
services.gitea = rec {
enable = true;
domain = "gitea.c3d2.de";
rootUrl = "https://${domain}/";
database = {
type = "postgres";
host = "127.0.0.1";
name = "gitea";
user = "gitea";
passwordFile = "/etc/giteaPassword";
};
repositoryRoot = "/var/lib/gitea/repositories";
disableRegistration = true;
lfs.enable = true;
log.level = "Info";
dump = {
## Is a nice feature once we have a dedicated backup storage.
## For now it is disabled, since it delays `nixos-rebuild switch`.
enable = false;
backupDir = "/var/lib/gitea/dump";
};
settings = {
server = {
# START_SSH_SERVER = true;
# BUILTIN_SSH_SERVER_USER = "git";
SSH_DOMAIN = domain;
ENABLE_GZIP = true;
};
cron = {
ENABLED = true;
};
mailer = {
ENABLED = true;
FROM = "gitea@c3d2.de";
MAILER_TYPE = "smtp";
HOST = "mail.c3d2.de:465";
IS_TLS_ENABLED = true;
};
security = {
# needed for c3d2-{web,dns} deployment
DISABLE_GIT_HOOKS = false;
};
service = {
NO_REPLY_ADDRESS = "no_reply@c3d2.de";
REGISTER_EMAIL_CONFIRM = true;
ENABLE_NOTIFY_MAIL = true;
};
database = {
LOG_SQL = false;
};
time = {
DEFAULT_UI_LOCATION = config.time.timeZone;
};
};
};
};
networking.firewall.allowedTCPPorts = [ 3000 2222 ];
environment.systemPackages = with pkgs; [ postgresql unzip ]; ## used to restore database dumps
}