{config, ...}: { services.nginx.virtualHosts."git.vulpecula.zone" = { addSSL = true; enableACME = true; locations."/".proxyPass = "http://localhost:${toString config.services.forgejo.settings.server.HTTP_PORT}"; }; services.forgejo = { enable = true; database.type = "postgres"; # Enable support for Git Large File Storage lfs.enable = true; settings = { DEFAULT = { APP_NAME = ":3"; APP_SLOGAN = "slogan"; }; server = { DOMAIN = "git.vulpecula.zone"; # You need to specify this to remove the port from URLs in the web UI. ROOT_URL = "https://git.vulpecula.zone/"; HTTP_PORT = 62101; # TODO DISABLE_SSH = true; }; # You can temporarily allow registration to create an admin user. service.DISABLE_REGISTRATION = true; # Add support for actions, based on act: https://github.com/nektos/act # actions = { # ENABLED = true; # DEFAULT_ACTIONS_URL = "github"; # }; # Sending emails is completely optional # You can send a test email from the web UI at: # Profile Picture > Site Administration > Configuration > Mailer Configuration # mailer = { # ENABLED = true; # SMTP_ADDR = "mail.example.com"; # FROM = "noreply@${srv.DOMAIN}"; # USER = "noreply@${srv.DOMAIN}"; # }; }; # mailerPasswordFile = config.age.secrets.forgejo-mailer-password.path; }; # services.gitea-actions-runner = { # package = pkgs.forgejo-actions-runner; # instances.default = { # enable = true; # name = "monolith"; # url = "https://git.vulpecula.zone"; # # Obtaining the path to the runner token file may differ # tokenFile = config.age.secrets.forgejo-runner-token.path; # labels = [ # "ubuntu-latest:docker://node:16-bullseye" # "ubuntu-22.04:docker://node:16-bullseye" # "ubuntu-20.04:docker://node:16-bullseye" # "ubuntu-18.04:docker://node:16-buster" # ## optionally provide native execution on the host: # # "native:host" # ]; # }; # }; }