From 2d01257db9fe593bd1f0758c40570663c992960e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Feb 2025 23:29:50 +0100 Subject: [PATCH 01/14] services/kanidm: init --- secrets/kanidm-admin-pass.age | 7 +++ secrets/kanidm-idm-admin-pass.age | 8 +++ secrets/secrets.nix | 8 +++ services/default.nix | 1 + services/kanidm.nix | 85 +++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 secrets/kanidm-admin-pass.age create mode 100644 secrets/kanidm-idm-admin-pass.age create mode 100644 services/kanidm.nix diff --git a/secrets/kanidm-admin-pass.age b/secrets/kanidm-admin-pass.age new file mode 100644 index 0000000..2b229b2 --- /dev/null +++ b/secrets/kanidm-admin-pass.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw W4+Z4WjOyUl4mWPqVykNWRhf2/8qfVOSM7QCFPNMZTA +0ndQjslMwjQqguN25nBQtCchpCLhoD/vrxh1yNVeTNw +-> ssh-ed25519 GKhvwg H8XcFJDZTA3IzxmK6wbB+PVM2gCZ4ysAPjL5j0LgeE0 +kehTMRIVOZ5ubtO7w8WF+gU3sjYXMQtd5hH+wcv3uSE +--- 72ntrRbWq8pdkk/GrsVupTttfY9t+w3l+2KQbQyNn/I +iyd$vVl TK$4G[MI[#tz:r9~ESA6}׵ \ No newline at end of file diff --git a/secrets/kanidm-idm-admin-pass.age b/secrets/kanidm-idm-admin-pass.age new file mode 100644 index 0000000..0eac321 --- /dev/null +++ b/secrets/kanidm-idm-admin-pass.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw 8zYeVXx36dpC8TxMdoM1GdERoNNj902KwTF4h/r4inM +n3mYra0BeM4gWsZ7Roilu14o/GajX1iWw0fcy0q31yc +-> ssh-ed25519 GKhvwg cqd7YmVpbxqZxaVluHDZ8Yw0gNfJCKMmoWa4mEoXym8 +Gbcj+PJaqyPRRGX4olr7mmJ5IoEGlQaogYbj7i9E/98 +--- LoQPWI+m8s3NjalUh0+xdW54c8lgddBmhPoIiPbmR8I +Җ܉Y +9!42DVP9N]G;?ЉS ' \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 57943fa..552e4e3 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -97,4 +97,12 @@ in keys.system.ude keys.other.bootstrap ]; + "kanidm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; + "kanidm-idm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; } diff --git a/services/default.nix b/services/default.nix index 1837462..8cf5ccf 100644 --- a/services/default.nix +++ b/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./attic.nix ./forgejo-runner.nix + ./kanidm.nix ]; } diff --git a/services/kanidm.nix b/services/kanidm.nix new file mode 100644 index 0000000..b288e14 --- /dev/null +++ b/services/kanidm.nix @@ -0,0 +1,85 @@ +{ + services.kanidm = + let + port = 8443; + domain = "auth.rabulinski.com"; + in + { + host = "kazuki"; + ports = [ port ]; + config = + { config, pkgs, ... }: + let + cert = config.security.acme.certs.${domain}; + in + { + age.secrets.rabulinski-com-cf = { + file = ../secrets/rabulinski-com-cf.age; + owner = config.services.nginx.user; + }; + age.secrets.kanidm-admin-pass = { + file = ../secrets/kanidm-admin-pass.age; + owner = "kanidm"; + }; + age.secrets.kanidm-idm-admin-pass = { + file = ../secrets/kanidm-idm-admin-pass.age; + owner = "kanidm"; + }; + + services.kanidm = { + enableServer = true; + package = pkgs.kanidmWithSecretProvisioning; + serverSettings = { + bindaddress = "127.0.0.1:${toString port}"; + inherit domain; + origin = "https://${domain}"; + trust_x_forward_for = true; + tls_chain = "${cert.directory}/fullchain.pem"; + tls_key = "${cert.directory}/key.pem"; + }; + provision = { + enable = true; + idmAdminPasswordFile = config.age.secrets.kanidm-idm-admin-pass.path; + adminPasswordFile = config.age.secrets.kanidm-admin-pass.path; + }; + }; + + systemd.services.kanidm.serviceConfig = { + SupplementaryGroups = [ cert.group ]; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."auth.rabulinski.com" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "https://localhost:${toString port}"; + proxyWebsockets = true; + extraConfig = '' + proxy_ssl_verify off; + proxy_ssl_name ${domain}; + ''; + }; + }; + }; + + security.acme.certs.${domain} = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rabulinski-com-cf.path; + reloadServices = [ "kanidm" ]; + }; + }; + }; +} From 5e8eeb032e662327a31e9130d722bdce0822c16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Wed, 5 Feb 2025 16:28:31 +0100 Subject: [PATCH 02/14] services/forgejo: move from hosts/kazuki --- hosts/kazuki/default.nix | 1 - hosts/kazuki/forgejo.nix | 62 ------------------------------------ services/default.nix | 1 + services/forgejo.nix | 69 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 63 deletions(-) delete mode 100644 hosts/kazuki/forgejo.nix create mode 100644 services/forgejo.nix diff --git a/hosts/kazuki/default.nix b/hosts/kazuki/default.nix index df92f1c..8464cb5 100644 --- a/hosts/kazuki/default.nix +++ b/hosts/kazuki/default.nix @@ -15,7 +15,6 @@ ./storage.nix ./ntfy.nix ./zitadel.nix - ./forgejo.nix ./prometheus.nix ]; diff --git a/hosts/kazuki/forgejo.nix b/hosts/kazuki/forgejo.nix deleted file mode 100644 index 9f200e2..0000000 --- a/hosts/kazuki/forgejo.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ config, ... }: -{ - age.secrets.rab-lol-cf = { - file = ../../secrets/rab-lol-cf.age; - owner = config.services.nginx.user; - }; - - services.forgejo = { - enable = true; - settings = { - server = { - DOMAIN = "git.rab.lol"; - ROOT_URL = "https://git.rab.lol/"; - }; - oauth2_client = { - REGISTER_EMAIL_CONFIRM = false; - ENABLE_AUTO_REGISTRATION = true; - ACCOUNT_LINKING = "auto"; - UPDATE_AVATAR = true; - }; - service = { - DISABLE_REGISTRATION = false; - ALLOW_ONLY_INTERNAL_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; - }; - federation.ENABLED = true; - }; - repositoryRoot = "/storage-box/forgejo/repos"; - lfs = { - enable = true; - contentDir = "/storage-box/forgejo/lfs"; - }; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedTlsSettings = true; - virtualHosts."git.rab.lol" = { - forceSSL = true; - enableACME = true; - acmeRoot = null; - locations."/" = { - proxyPass = "http://127.0.0.1:3000"; - extraConfig = '' - proxy_set_header Connection $http_connection; - proxy_set_header Upgrade $http_upgrade; - ''; - }; - }; - }; - - users.users.nginx.extraGroups = [ "acme" ]; - security.acme.acceptTerms = true; - security.acme.certs."git.rab.lol" = { - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets.rab-lol-cf.path; - email = "nikodem@rabulinski.com"; - }; -} diff --git a/services/default.nix b/services/default.nix index 8cf5ccf..6da3b28 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,5 +3,6 @@ ./attic.nix ./forgejo-runner.nix ./kanidm.nix + ./forgejo.nix ]; } diff --git a/services/forgejo.nix b/services/forgejo.nix new file mode 100644 index 0000000..2f69a55 --- /dev/null +++ b/services/forgejo.nix @@ -0,0 +1,69 @@ +{ + services.forgejo = { + host = "kazuki"; + ports = [ 3000 ]; + config = + { config, ... }: + { + age.secrets.rab-lol-cf = { + file = ../secrets/rab-lol-cf.age; + owner = config.services.nginx.user; + }; + + services.forgejo = { + enable = true; + settings = { + server = { + DOMAIN = "git.rab.lol"; + ROOT_URL = "https://git.rab.lol/"; + }; + oauth2_client = { + REGISTER_EMAIL_CONFIRM = false; + ENABLE_AUTO_REGISTRATION = true; + ACCOUNT_LINKING = "auto"; + UPDATE_AVATAR = true; + }; + service = { + DISABLE_REGISTRATION = false; + ALLOW_ONLY_INTERNAL_REGISTRATION = false; + ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + }; + federation.ENABLED = true; + }; + repositoryRoot = "/storage-box/forgejo/repos"; + lfs = { + enable = true; + contentDir = "/storage-box/forgejo/lfs"; + }; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."git.rab.lol" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + extraConfig = '' + proxy_set_header Connection $http_connection; + proxy_set_header Upgrade $http_upgrade; + ''; + }; + }; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + security.acme.acceptTerms = true; + security.acme.certs."git.rab.lol" = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rab-lol-cf.path; + email = "nikodem@rabulinski.com"; + }; + }; + }; +} From 34ceff5b9dee965ddadba6dbab35a0ca23c6f0e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Mar 2025 13:47:56 +0100 Subject: [PATCH 03/14] modules/system/containers: enable nat for container interfaces --- modules/system/containers.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/system/containers.nix b/modules/system/containers.nix index a0942f9..26e7e7e 100644 --- a/modules/system/containers.nix +++ b/modules/system/containers.nix @@ -85,6 +85,12 @@ let services.openssh.hostKeys = [ ]; system.stateVersion = lib.mkDefault config.system.stateVersion; + + networking.useHostResolvConf = false; + networking.nameservers = [ + "1.1.1.1" + "1.0.0.1" + ]; }; bindMounts = { @@ -95,6 +101,11 @@ let privateNetwork = lib.mkForce true; } ) config.settei.containers; + + networking.nat = lib.mkIf (config.settei.containers != { }) { + enable = true; + internalInterfaces = [ "ve-+" ]; + }; }; darwinConfig = lib.optionalAttrs (!isLinux) { From 755d759137ed5abbd574e4cbf279d20ca9b9d198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:30:42 +0100 Subject: [PATCH 04/14] services/forgejo: forgejo but make it COOL --- assets/forgejo/apple-touch-icon.png | Bin 0 -> 8193 bytes assets/forgejo/avatar_default.png | Bin 0 -> 9082 bytes assets/forgejo/favicon.png | Bin 0 -> 8186 bytes assets/forgejo/favicon.svg | 1 + assets/forgejo/logo.png | Bin 0 -> 27336 bytes assets/forgejo/logo.svg | 1 + flake.nix | 4 ++++ services/forgejo.nix | 13 +++++++++++++ 8 files changed, 19 insertions(+) create mode 100644 assets/forgejo/apple-touch-icon.png create mode 100644 assets/forgejo/avatar_default.png create mode 100644 assets/forgejo/favicon.png create mode 100644 assets/forgejo/favicon.svg create mode 100644 assets/forgejo/logo.png create mode 100644 assets/forgejo/logo.svg diff --git a/assets/forgejo/apple-touch-icon.png b/assets/forgejo/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f082d31578d19b35f5f794c814f7040a461662bc GIT binary patch literal 8193 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 \ No newline at end of file diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee15c96e56a0e2cbc08da7760970a66c338ec2e GIT binary patch literal 27336 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 \ No newline at end of file diff --git a/flake.nix b/flake.nix index 217b7cc..a0ce7ed 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,10 @@ # racket "*.rkt" "**/rashrc" + + # custom assets + "*.png" + "*.svg" ]; settings.on-unmatched = "fatal"; }; diff --git a/services/forgejo.nix b/services/forgejo.nix index 2f69a55..5e7be6f 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -37,6 +37,19 @@ }; }; + systemd.tmpfiles.rules = + let + cfg = config.services.forgejo; + imgDir = pkgs.runCommand "forgejo-img-dir" { } '' + cp -R ${../assets/forgejo} "$out" + ''; + in + [ + "d '${cfg.customDir}/public' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.customDir}/public/assets' 0750 ${cfg.user} ${cfg.group} - -" + "L+ '${cfg.customDir}/public/assets/img' - - - - ${imgDir}" + ]; + services.nginx = { enable = true; recommendedProxySettings = true; From 9dfdd8f49420c7533f86227794c34e16aa7daafc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:15 +0100 Subject: [PATCH 05/14] services/forgejo: use latest instead of lts --- services/forgejo.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/forgejo.nix b/services/forgejo.nix index 5e7be6f..84c34ef 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -3,7 +3,7 @@ host = "kazuki"; ports = [ 3000 ]; config = - { config, ... }: + { config, pkgs, ... }: { age.secrets.rab-lol-cf = { file = ../secrets/rab-lol-cf.age; @@ -12,6 +12,7 @@ services.forgejo = { enable = true; + package = pkgs.forgejo; settings = { server = { DOMAIN = "git.rab.lol"; From 4ae04f6c6d89d1621d9281fbd3b9d98918c857da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:30 +0100 Subject: [PATCH 06/14] services/forgejo: enable git hooks --- services/forgejo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/forgejo.nix b/services/forgejo.nix index 84c34ef..afb7b7c 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -18,6 +18,9 @@ DOMAIN = "git.rab.lol"; ROOT_URL = "https://git.rab.lol/"; }; + security = { + DISABLE_GIT_HOOKS = false; + }; oauth2_client = { REGISTER_EMAIL_CONFIRM = false; ENABLE_AUTO_REGISTRATION = true; From 4f3cac9ff62c7f0c2304f474fe21bcf77d7f9d85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 22:54:34 +0100 Subject: [PATCH 07/14] flake.lock: update (attic fix) (take 2) --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 9623cd0..5d68e57 100644 --- a/flake.lock +++ b/flake.lock @@ -47,10 +47,10 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1742674578, - "narHash": "sha256-WnbRUpnUtd0UadC/zrwQjCWi2P0f/pBLv0HSknZ+0t8=", + "lastModified": 1742679462, + "narHash": "sha256-L9q9KDqiJEREM/GRnSo4vB9VCvclmdRT9vXuFwBmb9Y=", "ref": "refs/heads/main", - "rev": "faf973d3829e1b9b9e76ca2d0a09389c0c8233cb", + "rev": "087bfe9234f8dc682dbf1d8f96c0b712f587c466", "revCount": 368, "type": "git", "url": "https://git.lix.systems/nrabulinski/attic.git" From de125a8de08c25d4ca0bc08c428f3f891c7fc229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Feb 2025 23:29:50 +0100 Subject: [PATCH 08/14] services/kanidm: init --- secrets/kanidm-admin-pass.age | 7 +++ secrets/kanidm-idm-admin-pass.age | 8 +++ secrets/secrets.nix | 8 +++ services/default.nix | 1 + services/kanidm.nix | 85 +++++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 secrets/kanidm-admin-pass.age create mode 100644 secrets/kanidm-idm-admin-pass.age create mode 100644 services/kanidm.nix diff --git a/secrets/kanidm-admin-pass.age b/secrets/kanidm-admin-pass.age new file mode 100644 index 0000000..2b229b2 --- /dev/null +++ b/secrets/kanidm-admin-pass.age @@ -0,0 +1,7 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw W4+Z4WjOyUl4mWPqVykNWRhf2/8qfVOSM7QCFPNMZTA +0ndQjslMwjQqguN25nBQtCchpCLhoD/vrxh1yNVeTNw +-> ssh-ed25519 GKhvwg H8XcFJDZTA3IzxmK6wbB+PVM2gCZ4ysAPjL5j0LgeE0 +kehTMRIVOZ5ubtO7w8WF+gU3sjYXMQtd5hH+wcv3uSE +--- 72ntrRbWq8pdkk/GrsVupTttfY9t+w3l+2KQbQyNn/I +iyd$vVl TK$4G[MI[#tz:r9~ESA6}׵ \ No newline at end of file diff --git a/secrets/kanidm-idm-admin-pass.age b/secrets/kanidm-idm-admin-pass.age new file mode 100644 index 0000000..0eac321 --- /dev/null +++ b/secrets/kanidm-idm-admin-pass.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 84j9mw 8zYeVXx36dpC8TxMdoM1GdERoNNj902KwTF4h/r4inM +n3mYra0BeM4gWsZ7Roilu14o/GajX1iWw0fcy0q31yc +-> ssh-ed25519 GKhvwg cqd7YmVpbxqZxaVluHDZ8Yw0gNfJCKMmoWa4mEoXym8 +Gbcj+PJaqyPRRGX4olr7mmJ5IoEGlQaogYbj7i9E/98 +--- LoQPWI+m8s3NjalUh0+xdW54c8lgddBmhPoIiPbmR8I +Җ܉Y +9!42DVP9N]G;?ЉS ' \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 57943fa..552e4e3 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -97,4 +97,12 @@ in keys.system.ude keys.other.bootstrap ]; + "kanidm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; + "kanidm-idm-admin-pass.age".publicKeys = [ + keys.system.kazuki + keys.other.bootstrap + ]; } diff --git a/services/default.nix b/services/default.nix index 1837462..8cf5ccf 100644 --- a/services/default.nix +++ b/services/default.nix @@ -2,5 +2,6 @@ imports = [ ./attic.nix ./forgejo-runner.nix + ./kanidm.nix ]; } diff --git a/services/kanidm.nix b/services/kanidm.nix new file mode 100644 index 0000000..b288e14 --- /dev/null +++ b/services/kanidm.nix @@ -0,0 +1,85 @@ +{ + services.kanidm = + let + port = 8443; + domain = "auth.rabulinski.com"; + in + { + host = "kazuki"; + ports = [ port ]; + config = + { config, pkgs, ... }: + let + cert = config.security.acme.certs.${domain}; + in + { + age.secrets.rabulinski-com-cf = { + file = ../secrets/rabulinski-com-cf.age; + owner = config.services.nginx.user; + }; + age.secrets.kanidm-admin-pass = { + file = ../secrets/kanidm-admin-pass.age; + owner = "kanidm"; + }; + age.secrets.kanidm-idm-admin-pass = { + file = ../secrets/kanidm-idm-admin-pass.age; + owner = "kanidm"; + }; + + services.kanidm = { + enableServer = true; + package = pkgs.kanidmWithSecretProvisioning; + serverSettings = { + bindaddress = "127.0.0.1:${toString port}"; + inherit domain; + origin = "https://${domain}"; + trust_x_forward_for = true; + tls_chain = "${cert.directory}/fullchain.pem"; + tls_key = "${cert.directory}/key.pem"; + }; + provision = { + enable = true; + idmAdminPasswordFile = config.age.secrets.kanidm-idm-admin-pass.path; + adminPasswordFile = config.age.secrets.kanidm-admin-pass.path; + }; + }; + + systemd.services.kanidm.serviceConfig = { + SupplementaryGroups = [ cert.group ]; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."auth.rabulinski.com" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "https://localhost:${toString port}"; + proxyWebsockets = true; + extraConfig = '' + proxy_ssl_verify off; + proxy_ssl_name ${domain}; + ''; + }; + }; + }; + + security.acme.certs.${domain} = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rabulinski-com-cf.path; + reloadServices = [ "kanidm" ]; + }; + }; + }; +} From 097d45753e8bb7fb2b5e6f24a1c1027188f8a825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Wed, 5 Feb 2025 16:28:31 +0100 Subject: [PATCH 09/14] services/forgejo: move from hosts/kazuki --- hosts/kazuki/default.nix | 1 - hosts/kazuki/forgejo.nix | 62 ------------------------------------ services/default.nix | 1 + services/forgejo.nix | 69 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 63 deletions(-) delete mode 100644 hosts/kazuki/forgejo.nix create mode 100644 services/forgejo.nix diff --git a/hosts/kazuki/default.nix b/hosts/kazuki/default.nix index df92f1c..8464cb5 100644 --- a/hosts/kazuki/default.nix +++ b/hosts/kazuki/default.nix @@ -15,7 +15,6 @@ ./storage.nix ./ntfy.nix ./zitadel.nix - ./forgejo.nix ./prometheus.nix ]; diff --git a/hosts/kazuki/forgejo.nix b/hosts/kazuki/forgejo.nix deleted file mode 100644 index 9f200e2..0000000 --- a/hosts/kazuki/forgejo.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ config, ... }: -{ - age.secrets.rab-lol-cf = { - file = ../../secrets/rab-lol-cf.age; - owner = config.services.nginx.user; - }; - - services.forgejo = { - enable = true; - settings = { - server = { - DOMAIN = "git.rab.lol"; - ROOT_URL = "https://git.rab.lol/"; - }; - oauth2_client = { - REGISTER_EMAIL_CONFIRM = false; - ENABLE_AUTO_REGISTRATION = true; - ACCOUNT_LINKING = "auto"; - UPDATE_AVATAR = true; - }; - service = { - DISABLE_REGISTRATION = false; - ALLOW_ONLY_INTERNAL_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; - }; - federation.ENABLED = true; - }; - repositoryRoot = "/storage-box/forgejo/repos"; - lfs = { - enable = true; - contentDir = "/storage-box/forgejo/lfs"; - }; - }; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - recommendedGzipSettings = true; - recommendedOptimisation = true; - recommendedTlsSettings = true; - virtualHosts."git.rab.lol" = { - forceSSL = true; - enableACME = true; - acmeRoot = null; - locations."/" = { - proxyPass = "http://127.0.0.1:3000"; - extraConfig = '' - proxy_set_header Connection $http_connection; - proxy_set_header Upgrade $http_upgrade; - ''; - }; - }; - }; - - users.users.nginx.extraGroups = [ "acme" ]; - security.acme.acceptTerms = true; - security.acme.certs."git.rab.lol" = { - dnsProvider = "cloudflare"; - credentialsFile = config.age.secrets.rab-lol-cf.path; - email = "nikodem@rabulinski.com"; - }; -} diff --git a/services/default.nix b/services/default.nix index 8cf5ccf..6da3b28 100644 --- a/services/default.nix +++ b/services/default.nix @@ -3,5 +3,6 @@ ./attic.nix ./forgejo-runner.nix ./kanidm.nix + ./forgejo.nix ]; } diff --git a/services/forgejo.nix b/services/forgejo.nix new file mode 100644 index 0000000..2f69a55 --- /dev/null +++ b/services/forgejo.nix @@ -0,0 +1,69 @@ +{ + services.forgejo = { + host = "kazuki"; + ports = [ 3000 ]; + config = + { config, ... }: + { + age.secrets.rab-lol-cf = { + file = ../secrets/rab-lol-cf.age; + owner = config.services.nginx.user; + }; + + services.forgejo = { + enable = true; + settings = { + server = { + DOMAIN = "git.rab.lol"; + ROOT_URL = "https://git.rab.lol/"; + }; + oauth2_client = { + REGISTER_EMAIL_CONFIRM = false; + ENABLE_AUTO_REGISTRATION = true; + ACCOUNT_LINKING = "auto"; + UPDATE_AVATAR = true; + }; + service = { + DISABLE_REGISTRATION = false; + ALLOW_ONLY_INTERNAL_REGISTRATION = false; + ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + }; + federation.ENABLED = true; + }; + repositoryRoot = "/storage-box/forgejo/repos"; + lfs = { + enable = true; + contentDir = "/storage-box/forgejo/lfs"; + }; + }; + + services.nginx = { + enable = true; + recommendedProxySettings = true; + recommendedGzipSettings = true; + recommendedOptimisation = true; + recommendedTlsSettings = true; + virtualHosts."git.rab.lol" = { + forceSSL = true; + enableACME = true; + acmeRoot = null; + locations."/" = { + proxyPass = "http://127.0.0.1:3000"; + extraConfig = '' + proxy_set_header Connection $http_connection; + proxy_set_header Upgrade $http_upgrade; + ''; + }; + }; + }; + + users.users.nginx.extraGroups = [ "acme" ]; + security.acme.acceptTerms = true; + security.acme.certs."git.rab.lol" = { + dnsProvider = "cloudflare"; + credentialsFile = config.age.secrets.rab-lol-cf.path; + email = "nikodem@rabulinski.com"; + }; + }; + }; +} From f10ec8fd19b7e0834bcf8433f0fef85c738a83e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Tue, 4 Mar 2025 13:47:56 +0100 Subject: [PATCH 10/14] modules/system/containers: enable nat for container interfaces --- modules/system/containers.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/system/containers.nix b/modules/system/containers.nix index a0942f9..26e7e7e 100644 --- a/modules/system/containers.nix +++ b/modules/system/containers.nix @@ -85,6 +85,12 @@ let services.openssh.hostKeys = [ ]; system.stateVersion = lib.mkDefault config.system.stateVersion; + + networking.useHostResolvConf = false; + networking.nameservers = [ + "1.1.1.1" + "1.0.0.1" + ]; }; bindMounts = { @@ -95,6 +101,11 @@ let privateNetwork = lib.mkForce true; } ) config.settei.containers; + + networking.nat = lib.mkIf (config.settei.containers != { }) { + enable = true; + internalInterfaces = [ "ve-+" ]; + }; }; darwinConfig = lib.optionalAttrs (!isLinux) { From 5edc54b59b465d0f660c5f758a48e706940f9ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:30:42 +0100 Subject: [PATCH 11/14] services/forgejo: forgejo but make it COOL --- assets/forgejo/apple-touch-icon.png | Bin 0 -> 8193 bytes assets/forgejo/avatar_default.png | Bin 0 -> 9082 bytes assets/forgejo/favicon.png | Bin 0 -> 8186 bytes assets/forgejo/favicon.svg | 1 + assets/forgejo/logo.png | Bin 0 -> 27336 bytes assets/forgejo/logo.svg | 1 + flake.nix | 4 ++++ services/forgejo.nix | 13 +++++++++++++ 8 files changed, 19 insertions(+) create mode 100644 assets/forgejo/apple-touch-icon.png create mode 100644 assets/forgejo/avatar_default.png create mode 100644 assets/forgejo/favicon.png create mode 100644 assets/forgejo/favicon.svg create mode 100644 assets/forgejo/logo.png create mode 100644 assets/forgejo/logo.svg diff --git a/assets/forgejo/apple-touch-icon.png b/assets/forgejo/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f082d31578d19b35f5f794c814f7040a461662bc GIT binary patch literal 8193 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 \ No newline at end of file diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ee15c96e56a0e2cbc08da7760970a66c338ec2e GIT binary patch literal 27336 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 \ No newline at end of file diff --git a/flake.nix b/flake.nix index 217b7cc..a0ce7ed 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,10 @@ # racket "*.rkt" "**/rashrc" + + # custom assets + "*.png" + "*.svg" ]; settings.on-unmatched = "fatal"; }; diff --git a/services/forgejo.nix b/services/forgejo.nix index 2f69a55..5e7be6f 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -37,6 +37,19 @@ }; }; + systemd.tmpfiles.rules = + let + cfg = config.services.forgejo; + imgDir = pkgs.runCommand "forgejo-img-dir" { } '' + cp -R ${../assets/forgejo} "$out" + ''; + in + [ + "d '${cfg.customDir}/public' 0750 ${cfg.user} ${cfg.group} - -" + "d '${cfg.customDir}/public/assets' 0750 ${cfg.user} ${cfg.group} - -" + "L+ '${cfg.customDir}/public/assets/img' - - - - ${imgDir}" + ]; + services.nginx = { enable = true; recommendedProxySettings = true; From 8043c72b58d28edef79cf38c0f4da0635648ae25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:15 +0100 Subject: [PATCH 12/14] services/forgejo: use latest instead of lts --- services/forgejo.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/forgejo.nix b/services/forgejo.nix index 5e7be6f..84c34ef 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -3,7 +3,7 @@ host = "kazuki"; ports = [ 3000 ]; config = - { config, ... }: + { config, pkgs, ... }: { age.secrets.rab-lol-cf = { file = ../secrets/rab-lol-cf.age; @@ -12,6 +12,7 @@ services.forgejo = { enable = true; + package = pkgs.forgejo; settings = { server = { DOMAIN = "git.rab.lol"; From 3822cb0d947cd9e7a039b359e8a5e924d9e9f9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 00:31:30 +0100 Subject: [PATCH 13/14] services/forgejo: enable git hooks --- services/forgejo.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/forgejo.nix b/services/forgejo.nix index 84c34ef..afb7b7c 100644 --- a/services/forgejo.nix +++ b/services/forgejo.nix @@ -18,6 +18,9 @@ DOMAIN = "git.rab.lol"; ROOT_URL = "https://git.rab.lol/"; }; + security = { + DISABLE_GIT_HOOKS = false; + }; oauth2_client = { REGISTER_EMAIL_CONFIRM = false; ENABLE_AUTO_REGISTRATION = true; From 2cb36930a45630084e4443db1f41c5bf2a0e99d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikodem=20Rabuli=C5=84ski?= Date: Sat, 22 Mar 2025 23:27:49 +0100 Subject: [PATCH 14/14] fixup! services/forgejo: forgejo but make it COOL --- assets/forgejo/apple-touch-icon.png | Bin 8193 -> 8112 bytes assets/forgejo/avatar_default.png | Bin 9082 -> 9047 bytes assets/forgejo/favicon.png | Bin 8186 -> 7939 bytes assets/forgejo/favicon.svg | 2 +- assets/forgejo/logo.png | Bin 27336 -> 27323 bytes assets/forgejo/logo.svg | 2 +- 6 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/forgejo/apple-touch-icon.png b/assets/forgejo/apple-touch-icon.png index f082d31578d19b35f5f794c814f7040a461662bc..78da40f37eb4f0f6268d42694823fcb211b5ecda 100644 GIT binary patch literal 8112 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 S8%+!h3=E#GelF{r5}E)S%a%z1 literal 8193 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

~F_8d09k(kxq(O z8_SkY(_Y_FKbv`|b15(P(!vSOa;5*6oYsjKlvd8L+xY3gqpRJ~CI=$hUOW=hje2nZ z%2IFfmfaVQbP5~3JXE50(fQQ>#ZKK%#XfF({6@fb+Re@BueDQhMWb})s-|)0&Rl$~ zNrc&U$&v;x)oIz0vm-M8WH3u5zxUqf^J`K&zjtI| znVH6#RXP^?Gd0(-hGuL`yMI$>k6_^bsf!L5eSG8^GHbf$CIh2sibsl+vlq5ZSzwb| z5>fZ}Yq;&wZOb;bR87*E@K)@Pl7s^v?v)|ZI5WZ9{@;#~I?uN<0G)mJss zC^co0PQXkiZ@p{Nb(-?_{Y-mxd%OOlO(#B;U-;`~y&*hgCYyKYH90Xy=XO3-@2&+o zYkVe{21!``i8!^<&&!*AkEX6>(#^l?eJ1_Vni8>UgPzBh_cM*tHL`T7W^bPRaCJ*k z<&084sSoKpp7gUWZN4ziN$uopEt80%4P~2GRD66?^6HA_rXws?_9t0>#zs0lcKsjp z>1yt>g~}K7e7|>332QulDa7XaitE{hJm>O_9PI)XAJ#J}hIDnt7cXRHU|?YIboFyt I=akR{07Kqp4gdfE literal 9082 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 Kb6Mw<&;$SuzuV*h literal 8186 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 \ No newline at end of file + \ No newline at end of file diff --git a/assets/forgejo/logo.png b/assets/forgejo/logo.png index 0ee15c96e56a0e2cbc08da7760970a66c338ec2e..ca1d3904f876192769a08040304cf026f6e32d30 100644 GIT binary patch literal 27323 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 RGB7YOc)I$ztaD0e0sweu;!ywq literal 27336 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 \ No newline at end of file + \ No newline at end of file