75 lines
1.6 KiB
Nix
Raw Normal View History

2024-01-01 00:13:30 -08:00
{ config, lib, pkgs, user, ... }:
2024-09-03 14:22:48 -07:00
let
stateDir = "/var/lib/gitea";
dumpFolder = "/engi/backup/dumps/gitea";
domain = "git.tstarr.us";
in {
# Main gitea service
systemd.tmpfiles.rules = [
"d ${dumpFolder} 0775 gitea gitea -"
];
environment.systemPackages = [
2024-11-01 21:23:33 -07:00
(pkgs.writeScriptBin "dump-gitea" ''
2024-09-03 14:22:48 -07:00
#!/bin/sh
cd ${dumpFolder}
[ -e gitea-dump.zip ] && rm gitea-dump.zip
exec ${pkgs.gitea}/bin/gitea dump --type zip -c ${stateDir}/custom/conf/app.ini --file "gitea-dump.zip"
'')
];
2024-01-01 00:13:30 -08:00
services.gitea = {
enable = true;
lfs.enable = true;
2024-09-03 14:22:48 -07:00
stateDir = "${stateDir}";
customDir = "${stateDir}/custom";
settings.server = {
DOMAIN = "${domain}";
HTTP_PORT = 3001;
ROOT_URL = "https://${domain}";
2024-01-01 00:13:30 -08:00
};
settings.service = {
DISABLE_REGISTRATION = true;
};
};
2024-05-26 22:16:00 -07:00
2024-09-03 14:22:48 -07:00
# Gitea runners
users.users.gitea-runner = {
createHome = false;
isSystemUser = true;
group = "gitea-runner";
};
users.groups.gitea-runner = {};
2024-07-21 12:47:13 -07:00
age.secrets."git/gitea-runner-1" = {
2024-07-21 16:37:12 -07:00
file = ../../secrets/git/gitea-runner-1.age;
2024-07-21 12:47:13 -07:00
owner = "gitea-runner";
group = "gitea-runner";
2024-05-26 22:16:00 -07:00
};
2024-07-21 12:47:13 -07:00
2024-05-26 22:16:00 -07:00
services.gitea-actions-runner.instances = {
2024-07-17 13:53:16 -07:00
runner1 = {
2024-05-26 22:16:00 -07:00
enable = true;
2024-09-03 14:22:48 -07:00
url = "https://${domain}";
2024-07-21 12:47:13 -07:00
tokenFile = "/run/agenix/git/gitea-runner-1";
2024-07-17 13:53:16 -07:00
name = "runner1";
2024-05-26 22:16:00 -07:00
labels = [
"native:host"
];
hostPackages = with pkgs; [
bash
coreutils
curl
gawk
gitMinimal
gnused
nodejs-18_x
wget
2024-07-17 13:53:16 -07:00
gnutar
gzip
2024-05-26 22:16:00 -07:00
];
};
};
2024-01-01 00:13:30 -08:00
}