infrastructure/hosts/hydrogen/services/gitea/default.nix

50 lines
1.2 KiB
Nix

{ config, pkgs, ... }: {
age.secrets.gitea = {
file = ../../../../secrets/gitea.age;
owner = "gitea";
group = "gitea";
};
age.identityPaths = [ "/root/.ssh/id_ed25519" ];
services.gitea = {
enable = true;
package = pkgs.forgejo;
lfs.enable = true;
database = {
type = "postgres";
passwordFile = config.age.secrets.gitea.path;
};
settings = {
service = {
DEFAULT_KEEP_EMAIL_PRIVATE = true;
DISABLE_REGISTRATION = true;
};
server = {
LANDING_PAGE = "explore";
ROOT_URL = "https://git.fainsin.bzh";
DOMAIN = "git.fainsin.bzh";
};
indexer = {
REPO_INDEXER_ENABLED = true;
REPO_INDEXER_PATH = "indexers/repos.bleve";
UPDATE_BUFFER_LEN = 20;
MAX_FILE_SIZE = 1048576;
REPO_INDEXER_EXCLUDE = "node_modules/**";
};
session = {
PROVIDER = "db";
COOKIE_SECURE = true;
};
};
};
services.nginx.virtualHosts."git.fainsin.bzh" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:3000/";
proxyWebsockets = true;
};
};
}