From 865a7947e157812cc04adb805d9ef1a268aa887a Mon Sep 17 00:00:00 2001 From: Ivan Reshetnikov Date: Tue, 12 Mar 2024 22:19:52 +0500 Subject: [PATCH] feat: add forgejo --- nixos/configuration.nix | 1 + nixos/programs/forgejo.nix | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 nixos/programs/forgejo.nix diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 85925b1..1e4ab54 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -28,6 +28,7 @@ ./programs/deluge.nix ./programs/prosody.nix ./programs/yggdrasil.nix + ./programs/forgejo.nix ./monitoring/grafana.nix ./monitoring/prometheus.nix diff --git a/nixos/programs/forgejo.nix b/nixos/programs/forgejo.nix new file mode 100644 index 0000000..3fe21b2 --- /dev/null +++ b/nixos/programs/forgejo.nix @@ -0,0 +1,34 @@ +{ config, ... }: +{ + services.forgejo = { + enable = true; + settings = { + session.COOKIE_SECURE = true; + server = { + ROOT_URL = "https://git.comfycamp.space"; + PROTOCOL = "http+unix"; + DOMAIN = "git.comfycamp.space"; + }; + log.LEVEL = "Warn"; + mailer = { + ENABLED = true; + PROTOCOL = "smtps"; + SMTP_ADDR = "comfycamp.space"; + SMTP_PORT = 465; + USER = "git@comfycamp.space"; + }; + }; + mailerPasswordFile = "/var/lib/secrets/forgejo/mail.txt"; + database = { + type = "postgres"; + socket = "/run/postgresql"; + }; + }; + services.nginx.virtualHosts."git.comfycamp.space" = { + useACMEHost = "comfycamp.space"; + forceSSL = true; + locations."/" = { + proxyPass = "http://unix:${config.services.forgejo.settings.server.HTTP_ADDR}"; + }; + }; +}