diff --git a/spec/library/forgejo.nix b/spec/library/forgejo.nix new file mode 100644 index 00000000..d957c9cf --- /dev/null +++ b/spec/library/forgejo.nix @@ -0,0 +1,33 @@ +{ pkgs +, ...}: let + host = "src.514fpv.io"; +in { + services.forgejo = { + enable = true; + lfs.enable = true; + stateDir = "/nix/persist/service/forgejo"; + database.type = "postgres"; + database.createDatabase = true; + settings = { + server = { + SSH_PORT = 8087; + COOKIE_SECURE = true; + LANDING_PAGE = "explore"; + DOMAIN = host; + PROTOCOL = "http+unix"; + ROOT_URL = "https://${host}:2096/"; + }; + DEFAULT.APP_NAME = "Forgejo"; + service.DISABLE_REGISTRATION = true; + }; + }; + + users.users.forgejo.uid = 1023; + users.groups.forgejo.gid = 1023; + + services.nginx.virtualHosts.${host} = { + useACMEHost = ".514fpv.io"; + addSSL = true; + locations."/".proxyPass = "http://unix:/run/forgejo/forgejo.sock"; + }; +}