Compare commits
4 Commits
5a384c5043
...
36183992a2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36183992a2 | ||
|
|
fb5651fc16 | ||
|
|
e609400d4e | ||
|
|
c07acb5268 |
@@ -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
|
||||||
|
|||||||
41
modules/services/gitea.nix
Normal file
41
modules/services/gitea.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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; [
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
Reference in New Issue
Block a user