Files
nixos/hosts/fw.cloonar.com/modules/gitea.nix

75 lines
1.6 KiB
Nix

{ config, ... }:
let
domain = "git.cloonar.com";
ip = "10.42.97.3";
in
{
services.nginx.virtualHosts."${domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "https://${ip}/";
};
};
users.users.gitea = {
isSystemUser = true;
group = "gitea";
home = "/var/lib/gitea";
createHome = true;
};
users.groups.gitea = { };
users.groups.docker.members = [ "gitea" ];
environment.etc."gitea/app.ini".source = ''
APP_NAME = Cloonar Gitea server
RUN_USER = gitea
RUN_MODE = prod
[cron.update_checker]
ENABLED=false
[openid]
ENABLE_OPENID_SIGNIN=false
ENABLE_OPENID_SIGNUP=true
WHITELISTED_URIS=auth.cloonar.com
[server]
DISABLE_SSH=false
DOMAIN=git.cloonar.com
HTTP_ADDR=0.0.0.0
HTTP_PORT=443
PROTOCOL=https
ROOT_URL=https://git.cloonar.com/
SSH_PORT=22
CERT_FILE=/bitnami/gitea/ssl/fullchain.pem
KEY_FILE=/bitnami/gitea/ssl/key.pem
[service]
ALLOW_ONLY_EXTERNAL_REGISTRATION=true
DISABLE_REGISTRATION=false
SHOW_REGISTRATION_BUTTON=false
[webhook]
ALLOWED_HOST_LIST=drone.cloonar.com
'';
# TODO: check if we can run docker service as other user than root
virtualisation = {
oci-containers.containers = {
omada = {
image = "bitnami/gitea:1";
volumes = [
"/var/lib/gitea:/bitnami/gitea"
"/etc/gitea/app.ini:/bitnami/gitea/custom/conf/app.ini:ro"
"/var/lib/acme/git.cloonar.com:/bitnami/gitea/ssl:ro"
];
extraOptions = [
"--ip=${ip}"
];
};
};
};
}