diff --git a/hosts/linode/default.nix b/hosts/linode/default.nix index ae0a13c..d34fc13 100644 --- a/hosts/linode/default.nix +++ b/hosts/linode/default.nix @@ -2,6 +2,7 @@ { imports = [ + ./git.nix ./hardware-configuration.nix ./nextcloud.nix ./nginx.nix diff --git a/hosts/linode/git.nix b/hosts/linode/git.nix new file mode 100644 index 0000000..51027bf --- /dev/null +++ b/hosts/linode/git.nix @@ -0,0 +1,42 @@ +{ config, ... }: + +{ + services.gitea = rec { + enable = true; + appName = "Greg's Sources"; + cookieSecure = true; + database = { + type = "postgres"; + user = "gitea"; + }; + disableRegistration = true; + domain = "src.thehellings.com"; + dump = { + enable = true; + type = "tar.xz"; + }; + rootUrl = "https://${domain}/"; + }; + + greg.proxies."src.thehellings.com" = { + target = "http://localhost:${toString config.services.gitea.httpPort}"; + ssl = true; + genAliases = false; + }; + + greg.backup.jobs.gitea = { + src = config.services.gitea.dump.backupDir; + dest = "gitea"; + user = "gitea"; + }; + + services.logrotate = { + enable = true; + settings = { + gitea = { + enable = true; + files = "${config.services.gitea.dump.backupDir}/*"; + }; + }; + }; +} diff --git a/hosts/linode/postgres.nix b/hosts/linode/postgres.nix index fd2da32..b5b811f 100644 --- a/hosts/linode/postgres.nix +++ b/hosts/linode/postgres.nix @@ -4,7 +4,7 @@ services.postgresql = { enable = true; checkConfig = true; - ensureDatabases = [ "nextcloud" ]; + ensureDatabases = [ "nextcloud" "gitea" ]; initialScript = pkgs.writeText "create-matrix-db.sql" '' CREATE ROLE "matrix-synapse" WITH LOGIN; CREATE DATABASE "synapse" WITH OWNER "matrix-synapse" TEMPLATE template0 LC_COLLATE = "C" LC_CTYPE = "C"; @@ -16,6 +16,9 @@ } { name = "root"; ensurePermissions."ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES"; + } { + name = "gitea"; + ensurePermissions."DATABASE gitea" = "ALL PRIVILEGES"; } ]; settings = { log_connections = true; @@ -30,6 +33,7 @@ root root postgres services.postgresqlBackup = { enable = true; databases = [ + "gitea" "nextcloud" "synapse" ]; diff --git a/modules-linux/backup.nix b/modules-linux/backup.nix index f3df0e1..400c85c 100644 --- a/modules-linux/backup.nix +++ b/modules-linux/backup.nix @@ -39,7 +39,7 @@ in with lib; { key = mkOption { type = types.path; description = "SSH key to use"; - default = ./ssh/id_ed25519; + default = ../ssh/id_ed25519; }; jobs = mkOption {