nix-flake/modules/system/homelab/git.nix
satr14 005ef5bd18
Some checks failed
Activate Homelab Configuration / rebuild (push) Failing after 37s
fix runtime pkgs
2026-07-12 15:12:36 +07:00

83 lines
2.7 KiB
Nix

{ pkgs, homelab, ... }: {
services = {
forgejo = {
enable = true;
lfs.enable = true;
stateDir = "/mnt/data/apps/forgejo";
package = pkgs.forgejo;
settings = {
server = {
DISABLE_SSH = false;
START_SSH_SERVER = true;
SSH_DOMAIN = "main.dns.${homelab.domain}";
SSH_LISTEN_HOST = "0.0.0.0";
SSH_LISTEN_PORT = 5822;
SSH_PORT = 5822;
DOMAIN = "git.${homelab.domain}";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 5080;
PROTOCOL = "http";
ROOT_URL = "https://git.${homelab.domain}";
LANDING_PAGE = "explore";
};
actions.DEFAULT_ACTIONS_URL = "https://git.satr14.my.id";
oauth2_client.ENABLE_AUTO_REGISTRATION = true;
service = {
DISABLE_REGISTRATION = true;
ENABLE_OPENID_SIGNIN = false;
ENABLE_OPENID_SIGNUP = false;
ENABLE_INTERNAL_SIGNIN = false;
SHOW_REGISTRATION_BUTTON = false;
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
ALLOW_ONLY_INTERNAL_REGISTRATION = false;
REQUIRE_EXTERNAL_REGISTRATION_PASSWORD = true;
};
"service.explore" = {
DISABLE_USERS_PAGE = true;
DISABLE_ORGANIZATIONS_PAGE = true;
};
user.ENABLE_FOLLOWING = false;
repository = {
DISABLE_STARS = true;
DISABLE_FORKS = true;
ENABLE_PUSH_CREATE_USER = true;
};
};
};
gitea-actions-runner.instances.nixos-deploy = {
enable = true;
name = "nixos-server-runner";
url = "http://localhost:5080"; #"https://git.proxy.${homelab.domain}";
tokenFile = "/mnt/data/apps/forgejo/token-runner";
labels = [
"self-hosted:host"
"bun:docker://docker.io/oven/bun"
"debian:docker://docker.io/library/node:26-trixie-slim"
"aio:docker://git.satr14.my.id/satr14/aio-container:latest"
];
hostPackages = with pkgs; [ bash coreutils git nix openssh bun ];
};
renovate = {
enable = true;
schedule = "*:0"; # every hour
credentials.RENOVATE_TOKEN = "/mnt/data/apps/renovate/token.env";
settings = {
platform = "forgejo";
endpoint = "https://git.${homelab.domain}";
gitAuthor = "renovate <system@${homelab.domain}>";
autodiscover = true;
nix.enabled = true;
lockFileMaintenance = {
enabled = true;
commitMessageAction = "update lock file(s)";
schedule = [ "0 0 * * 0" ]; # weekly
};
};
runtimePackages = with pkgs; [ bun nix ];
};
};
systemd.services = {
"gitea-runner-nixos-deploy".restartIfChanged = false;
"forgejo".restartIfChanged = false;
};
}