From 7611e71f448587b319340b5b4ccca571d4a2f4a2 Mon Sep 17 00:00:00 2001 From: Nico Date: Sat, 3 May 2025 16:16:04 +1000 Subject: [PATCH] forgejo: init --- flake.nix | 1 + modules/services/forgejo.nix | 28 ++++++++++++++++++++++++++++ modules/services/glance.nix | 4 ++++ 3 files changed, 33 insertions(+) create mode 100644 modules/services/forgejo.nix diff --git a/flake.nix b/flake.nix index 9e441b5..409f350 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,7 @@ ./modules/services/uptime-kuma.nix ./modules/services/pocketid.nix ./modules/services/caddy.nix + ./modules/services/forgejo.nix ./modules/services/miniflux.nix ./modules/services/media/arr.nix ./modules/services/media/jellyfin.nix diff --git a/modules/services/forgejo.nix b/modules/services/forgejo.nix new file mode 100644 index 0000000..9a72cd1 --- /dev/null +++ b/modules/services/forgejo.nix @@ -0,0 +1,28 @@ +{ config, pkgs, ... }: + +{ + services.forgejo = { + enable = true; + stateDir = "/var/lib/forgejo"; + repositoryRoot = "${config.services.forgejo.stateDir}/repositories"; + database.createDatabase = true; + + settings = { + session.COOKIE_SECURE = true; + server = { + DOMAIN = "git.${config.homelab.domain}"; + ROOT_URL = "https://${config.services.forgejo.settings.server.DOMAIN}"; + SSH_PORT = 22; +# PROTOCOL = "https"; + HTTP_PORT = 3000; + }; + }; + }; + + services.caddy.virtualHosts."git.${config.homelab.domain}" = { + useACMEHost = config.homelab.domain; + extraConfig = '' + reverse_proxy http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT} + ''; + }; +} diff --git a/modules/services/glance.nix b/modules/services/glance.nix index 7c07baf..59ff468 100644 --- a/modules/services/glance.nix +++ b/modules/services/glance.nix @@ -81,6 +81,10 @@ title = "Karakeep"; url = "https://karakeep.${config.homelab.domain}"; } + { + title = "Forgejo"; + url = "https://git.${config.homelab.domain}"; + } ]; } {