Compare commits

...

4 Commits

Author SHA1 Message Date
Kopatz
36183992a2 backup gitea 2026-03-14 21:28:04 +01:00
Kopatz
fb5651fc16 fix adam site storage 2026-03-14 21:06:04 +01:00
Kopatz
e609400d4e ssh config for git 2026-03-14 21:05:58 +01:00
Kopatz
c07acb5268 add gitea 2026-03-14 20:03:37 +01:00
6 changed files with 91 additions and 0 deletions

View File

@@ -10,6 +10,7 @@
./ente.nix ./ente.nix
./fileshelter.nix ./fileshelter.nix
./games ./games
./gitea.nix
./github-runner.nix ./github-runner.nix
./gitolite.nix ./gitolite.nix
./kavita.nix ./kavita.nix

View File

@@ -0,0 +1,41 @@
{
config,
pkgs,
lib,
inputs,
...
}:
let
cfg = config.custom.services.gitea;
in
{
options.custom.services.gitea = {
enable = lib.mkEnableOption "Enables gitea";
fqdn = lib.mkOption {
type = lib.types.str;
default = "git.kopatz.dev";
description = "FQDN under which gitea is available";
};
};
config = lib.mkIf cfg.enable {
# Initial setup requires
services.gitea = {
enable = true;
stateDir = "/1tbssd/gitea";
settings = {
server.HTTP_PORT = 3001;
service.DISABLE_REGISTRATION = true;
server.DOMAIN = cfg.fqdn;
server.ROOT_URL = "https://${cfg.fqdn}";
#server.DISABLE_SSH = true;
};
};
services.nginx.virtualHosts."${cfg.fqdn}" = {
forceSSL = true;
enableACME = true;
quic = true;
http3 = true;
locations."/".proxyPass = "http://localhost:3001";
};
};
}

View File

@@ -21,6 +21,38 @@ in
file = ../../secrets/plausible-keybase.age; file = ../../secrets/plausible-keybase.age;
}; };
services.clickhouse = {
enable = true;
extraUsersConfig = ''
<clickhouse>
<profiles>
<default>
<log_queries>0</log_queries>
<log_query_threads>0</log_query_threads>
</default>
</profiles>
</clickhouse>
'';
extraServerConfig = ''
<clickhouse>
<logger>
<level>warning</level>
<console>true</console>
</logger>
<query_thread_log remove="remove"/>
<query_log remove="remove"/>
<text_log remove="remove"/>
<trace_log remove="remove"/>
<metric_log remove="remove"/>
<asynchronous_metric_log remove="remove"/>
<!-- Update: Required for newer versions of Clickhouse -->
<session_log remove="remove"/>
<part_log remove="remove"/>
</clickhouse>
'';
};
services.plausible = { services.plausible = {
enable = true; enable = true;
# removed, create on initial setup now # removed, create on initial setup now

View File

@@ -19,6 +19,8 @@
443 443
]; ];
networking = { networking = {
hostname = "adam-site";
nameservers = [ "1.1.1.1" "1.0.0.1" ];
defaultGateway6 = { defaultGateway6 = {
address = "fe80::1"; address = "fe80::1";
interface = "enp1s0"; interface = "enp1s0";

View File

@@ -59,6 +59,7 @@
let let
kavita = "/data/kavita"; kavita = "/data/kavita";
gitolite = "/var/lib/gitolite"; gitolite = "/var/lib/gitolite";
gitea = "/1tbssd/gitea";
mail = [ mail = [
"/data/vmail" "/data/vmail"
"/var/lib/opendkim" "/var/lib/opendkim"
@@ -87,6 +88,7 @@
"/home" "/home"
kavita kavita
gitolite gitolite
gitea
] ]
++ syncthingFull ++ syncthingFull
++ mail; ++ mail;
@@ -105,6 +107,7 @@
services = { services = {
acme.enable = true; acme.enable = true;
gitolite.enable = true; gitolite.enable = true;
gitea.enable = true;
github-runner.enable = true; github-runner.enable = true;
caldav.enable = true; caldav.enable = true;
kop-monitor.enable = true; kop-monitor.enable = true;
@@ -156,6 +159,17 @@
}; };
}; };
services.openssh.extraConfig = ''
# Internal network: allow everyone
Match Address 192.168.2.0/24,192.168.0.0/24
AllowUsers *
# Everything else (internet): only git user
Match Address *,!192.168.2.0/24,!192.168.0.0/24
PermitRootLogin no
AllowUsers gitea
'';
virtualisation.vmware.guest.enable = true; virtualisation.vmware.guest.enable = true;
services.xserver.videoDrivers = [ "vmware" ]; services.xserver.videoDrivers = [ "vmware" ];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View File

@@ -120,6 +120,7 @@
}; };
}; };
services.trilium-server.enable = false; # maybe consider in the future
services.nohang.enable = true; services.nohang.enable = true;
services.logind.settings.Login = { services.logind.settings.Login = {