mirror of
https://github.com/oqyude/nixos.git
synced 2026-08-10 00:23:13 +03:00
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4636868b43 |
@@ -28,7 +28,6 @@
|
||||
kernel = {
|
||||
sysctl = {
|
||||
"fs.inotify.max_user_watches" = "204800";
|
||||
"net.ipv4.ip_forward" = 1;
|
||||
};
|
||||
};
|
||||
kernelModules = [
|
||||
|
||||
@@ -110,10 +110,10 @@ let
|
||||
hostName = "${xlib.device.hostname}";
|
||||
networkmanager.enable = true;
|
||||
firewall.enable = false;
|
||||
# nameservers = [
|
||||
# "192.168.1.1"
|
||||
# "127.0.0.1"
|
||||
# ];
|
||||
nameservers = [
|
||||
"127.0.0.1"
|
||||
"192.168.1.1"
|
||||
];
|
||||
};
|
||||
|
||||
system = {
|
||||
|
||||
Generated
+18
-18
@@ -13,11 +13,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785892481,
|
||||
"narHash": "sha256-1JTy9/LyITSBP1a4WZ9tmOv2yDh9OTbA3YUJbQHiMYc=",
|
||||
"lastModified": 1785518313,
|
||||
"narHash": "sha256-anlq3YQDCsNrkNlu3HTg4dEIpRugwnyAVUxoPcBmA/U=",
|
||||
"owner": "serokell",
|
||||
"repo": "deploy-rs",
|
||||
"rev": "f6f2359a6cb7e3c51ea673bcb39933ac2622350d",
|
||||
"rev": "b974715a27b49fadbf3bf6d85e26bcb3109daa6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -88,11 +88,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1786031233,
|
||||
"narHash": "sha256-TIDlLTLI1/pB7IqgjzcKQjpODQsZE2oII4XGG9B6KjI=",
|
||||
"lastModified": 1785531816,
|
||||
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7834e82588860aaf780cec1366524456a70898d7",
|
||||
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -277,11 +277,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1786198689,
|
||||
"narHash": "sha256-XkvYmpRd4cmcrzKS8QplEHPZkDDeKwpalJQwosCd3+Q=",
|
||||
"lastModified": 1785744216,
|
||||
"narHash": "sha256-DoNu3f4opSpQOTSaC/SYzSDDmcej4GBsT5s7rum7TYk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "94ec6671dbe7d4879c2c8103e67425e85bf066d7",
|
||||
"rev": "34dca5401eac106b575afb642997094472f0d449",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -325,11 +325,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1785975029,
|
||||
"narHash": "sha256-X44cn5rzytELc3NNoQsh0aLkjWA/QzPfc6HPQmsG3sU=",
|
||||
"lastModified": 1785602060,
|
||||
"narHash": "sha256-z7D96eESRM4CPV/XtwpwFn8IDdfLAmxz6lVWrGYXvR4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "70ce234312134a463ba7728e94da2486a1d237ac",
|
||||
"rev": "a5cbcfe954791221bfffe2307f7d1a1bf61a871e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -341,11 +341,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1785967620,
|
||||
"narHash": "sha256-IItrdb7Puk05RqOBWZYFC5X6Wl1sJmCfh5MWVHw5iMM=",
|
||||
"lastModified": 1785571196,
|
||||
"narHash": "sha256-KoTsyMQqnXQZq8deCEnu4QkyldkwH/bpMMhUcfMdGIw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b7c2ada94fe99c15b0dbcf4d11fd7850b957a436",
|
||||
"rev": "148bab9c1c3c53136ecb44a6ea356a0ed5b39b06",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -403,11 +403,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785762349,
|
||||
"narHash": "sha256-jZhZkzAwc7f3exzcTDJWP2WCAchCv0iNC3UF/QsahdQ=",
|
||||
"lastModified": 1783574839,
|
||||
"narHash": "sha256-ICof1tV4/9XheBLBGf7dhMhfMq4dOs1zwTHrr7zGFlA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "a19a2a029fa180911bd89c554dca1616e10f4c1d",
|
||||
"rev": "c551f0687658e4bb699cfff6015436ad7ee57a0d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
panel = "${xlib.dirs.services-nodes-folder}/${xlib.device.hostname}/3x-ui";
|
||||
in
|
||||
{
|
||||
virtualisation = {
|
||||
podman = {
|
||||
@@ -28,8 +25,8 @@ in
|
||||
"TZ" = "Europe/Moscow";
|
||||
};
|
||||
volumes = [
|
||||
"${panel}/cert/:/root/cert:rw"
|
||||
"${panel}/db/:/etc/x-ui:rw"
|
||||
"${xlib.dirs.services-mnt-folder}/containers/3x-ui/cert/:/root/cert:rw"
|
||||
"${xlib.dirs.services-mnt-folder}/containers/3x-ui/db/:/etc/x-ui:rw"
|
||||
];
|
||||
log-driver = "journald";
|
||||
extraOptions = [
|
||||
@@ -100,13 +97,13 @@ in
|
||||
};
|
||||
# Folders
|
||||
tmpfiles.rules = [
|
||||
"d ${xlib.dirs.services-mnt-folder} 0755 root root -"
|
||||
"d ${xlib.dirs.services-nodes-folder} 0755 root root -"
|
||||
"d ${xlib.dirs.services-nodes-folder}/${xlib.device.hostname} 0755 root root -"
|
||||
"d ${panel} 0755 root root -"
|
||||
"d ${panel}/db 0755 root root -"
|
||||
"d ${panel}/cert 0755 root root -"
|
||||
"Z ${panel} 0755 root root -"
|
||||
"d /mnt 0755 root root -"
|
||||
"d /mnt/services 0755 root root -"
|
||||
"d /mnt/services/containers 0755 root root -"
|
||||
"d /mnt/services/containers/3x-ui 0755 root root -"
|
||||
"d /mnt/services/containers/3x-ui/cert 0755 root root -"
|
||||
"d /mnt/services/containers/3x-ui/db 0755 root root -"
|
||||
"Z /mnt/services/containers/3x-ui 0755 root root -"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
settings = {
|
||||
require-sigs = false;
|
||||
substituters = [
|
||||
"https://nix-cache.zeroq.su"
|
||||
"http://100.64.0.0:5000"
|
||||
"https://cache.nixos.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://mirror.yandex.ru/nixos"
|
||||
@@ -27,7 +27,7 @@
|
||||
# "https://nixos.snix.store" # https://nixos.snix.store/
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"nix-cache.zeroq.su:be5jFLkiwNyOep/McxSafB3jguBmztxx+oJ46ySyc/s="
|
||||
"nix-cache.home.arpa:be5jFLkiwNyOep/McxSafB3jguBmztxx+oJ46ySyc/s="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
stalled-download-timeout = 8;
|
||||
|
||||
@@ -118,11 +118,6 @@
|
||||
default = "/mnt/services";
|
||||
description = "All services folder.";
|
||||
};
|
||||
services-nodes-folder = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${config.xlib.dirs.services-mnt-folder}/nodes";
|
||||
description = "All nodes folder.";
|
||||
};
|
||||
postgresql-folder = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "${config.xlib.dirs.services-mnt-folder}/postgresql";
|
||||
|
||||
+11
-11
@@ -8,20 +8,20 @@
|
||||
acme = {
|
||||
acceptTerms = true;
|
||||
defaults = {
|
||||
email = "oqyude@gmail.com";
|
||||
email = "oqyude@zeroq.su";
|
||||
server = "https://localhost:9000/acme/acme/directory";
|
||||
dnsProvider = null;
|
||||
};
|
||||
# certs = {
|
||||
# "home.arpa" = {
|
||||
# email = "oqyude@zeroq.su";
|
||||
# domain = "*.home.arpa";
|
||||
# server = "https://localhost:9000/acme/acme/directory";
|
||||
# listenHTTP = ":80";
|
||||
# dnsProvider = null;
|
||||
# };
|
||||
# # "turn.home.arpa" = {
|
||||
# # listenHTTP = "127.0.0.1:80";
|
||||
# # group = "turnserver";
|
||||
# # "home.arpa" = {
|
||||
# # domain = "*.home.arpa";
|
||||
# # server = "https://localhost:9000/acme/acme/directory";
|
||||
# # listenHTTP = ":80";
|
||||
# # };
|
||||
# "turn.home.arpa" = {
|
||||
# listenHTTP = "127.0.0.1:80";
|
||||
# group = "turnserver";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -13,7 +13,7 @@ in
|
||||
{
|
||||
services = {
|
||||
calibre-web = {
|
||||
# package = stable.calibre-web;
|
||||
package = stable.calibre-web;
|
||||
enable = true;
|
||||
# dataDir = "${xlib.dirs.services-mnt-folder}/calibre-web";
|
||||
options = {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
192.168.1.20 flux.zeroq.su
|
||||
192.168.1.20 git.zeroq.su
|
||||
192.168.1.20 glances.zeroq.su
|
||||
192.168.1.20 homebox.zeroq.su
|
||||
192.168.1.20 homebox.home.arpa
|
||||
192.168.1.20 immich.zeroq.su
|
||||
192.168.1.20 kuma.zeroq.su
|
||||
192.168.1.20 navidrome.zeroq.su
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
./postgresql.nix
|
||||
./power.nix
|
||||
./samba.nix
|
||||
# ./step-ca.nix
|
||||
./step-ca.nix
|
||||
./syncthing.nix
|
||||
./systemd.nix
|
||||
# ../containers/remnawave.nix
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
appName = "ZeroQ Gitea Service";
|
||||
settings = {
|
||||
server = {
|
||||
DOMAIN = "git.zeroq.su";
|
||||
DOMAIN = "git.home.arpa";
|
||||
HTTP_PORT = 3000;
|
||||
};
|
||||
service.DISABLE_REGISTRATION = true;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
nextcloud-whiteboard-server = {
|
||||
enable = true;
|
||||
settings = {
|
||||
NEXTCLOUD_URL = "https://nextcloud.zeroq.su";
|
||||
NEXTCLOUD_URL = "https://nextcloud.home.arpa";
|
||||
};
|
||||
secrets = [ config.sops.secrets.nextcloud-whiteboard-jwt.path ];
|
||||
};
|
||||
@@ -20,8 +20,8 @@
|
||||
hostName = "talk.private";
|
||||
backends.nextcloud = {
|
||||
urls = [
|
||||
"https://nextcloud.home.arpa"
|
||||
"https://nextcloud.zeroq.su"
|
||||
# "https://nextcloud.home.arpa"
|
||||
];
|
||||
secretFile = config.sops.secrets.nextcloud-talk-secret.path;
|
||||
};
|
||||
@@ -40,9 +40,9 @@
|
||||
secretFile = config.sops.secrets.turn-secret.path;
|
||||
apikeyFile = config.sops.secrets.turn-api-key.path;
|
||||
servers = [
|
||||
"turn:turn.zeroq.su:3478?transport=udp"
|
||||
"turn:turn.zeroq.su:3478?transport=tcp"
|
||||
# "turns:turn.zeroq.su:5349?transport=tcp"
|
||||
"turn:turn.home.arpa:3478?transport=udp"
|
||||
"turn:turn.home.arpa:3478?transport=tcp"
|
||||
# "turns:turn.home.arpa:5349?transport=tcp"
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -72,19 +72,17 @@
|
||||
trusted_domains = [
|
||||
"100.64.0.0"
|
||||
"192.168.1.20"
|
||||
"37.128.246.126"
|
||||
"localhost"
|
||||
"nextcloud.home.arpa"
|
||||
"nextcloud.private"
|
||||
"nextcloud.zeroq.su"
|
||||
"office.home.arpa"
|
||||
"office.zeroq.su"
|
||||
"office.home.arpa"
|
||||
"nextcloud.home.arpa"
|
||||
];
|
||||
trusted_proxies = [
|
||||
"100.64.1.0"
|
||||
"109.248.161.5"
|
||||
"192.168.1.20"
|
||||
"37.128.246.126"
|
||||
"109.248.161.5"
|
||||
];
|
||||
overwriteprotocol = "https"; # maybe no
|
||||
};
|
||||
@@ -93,7 +91,7 @@
|
||||
notify_push = {
|
||||
enable = true;
|
||||
bendDomainToLocalhost = true;
|
||||
nextcloudUrl = "https://nextcloud.zeroq.su";
|
||||
nextcloudUrl = "https://nextcloud.home.arpa";
|
||||
};
|
||||
# phpPackage = pkgs.php85;
|
||||
extraApps = {
|
||||
|
||||
+107
-287
@@ -35,7 +35,7 @@ in
|
||||
}
|
||||
];
|
||||
};
|
||||
"office.zeroq.su" = {
|
||||
"office.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
};
|
||||
@@ -64,46 +64,46 @@ in
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
# "pdf.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations = {
|
||||
# "/" = {
|
||||
# proxyPass = "http://127.0.0.1:8446";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "homebox.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations = {
|
||||
# "/" = {
|
||||
# proxyPass = "http://127.0.0.1:7745";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# "nextcloud.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations = {
|
||||
# "/" = {
|
||||
# proxyPass = "http://127.0.0.1:10000";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# "/whiteboard" = {
|
||||
# proxyPass = "http://127.0.0.1:3002";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
"pdf.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:8446";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"homebox.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:7745";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
"nextcloud.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://127.0.0.1:10000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
"/whiteboard" = {
|
||||
proxyPass = "http://127.0.0.1:3002";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
# "talk.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
@@ -130,28 +130,39 @@ in
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "ca.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:9000";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "git.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:3000";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
"ca.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:9000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"git.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:3000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"git.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:3000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
# "n8n.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
@@ -163,263 +174,76 @@ in
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "kuma.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:4001";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# "flux.home.arpa" = {
|
||||
# addSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:6061";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# "navidrome.home.arpa" = {
|
||||
# addSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:4533";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# "immich.home.arpa" = {
|
||||
# addSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:2283";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
"immich.zeroq.su" = {
|
||||
"kuma.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:4001";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"flux.home.arpa" = {
|
||||
addSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:2283";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"kuma.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:4001";
|
||||
proxyPass = "http://127.0.0.1:6061";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"health.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:19999";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"git.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:3000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"homebox.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:7745";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
# "agent.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://${server}:3000";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# "node-red.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# kTLS = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://${server}:1880";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
"zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
root = pkgs.writeTextDir "index.html" ''
|
||||
<!doctype html>
|
||||
<html>
|
||||
<body>
|
||||
<pre>What are you doing here?</pre>
|
||||
</body>
|
||||
</html>
|
||||
'';
|
||||
locations = {
|
||||
"/guest/" = {
|
||||
proxyPass = "http://${server}:80";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
# "/.well-known/discord" = {
|
||||
# extraConfig = ''
|
||||
# default_type text/plain;
|
||||
# return 200 "dh=c2d103553a4cfdaa1b7952a87a7d8120a1e167cc";
|
||||
# '';
|
||||
# };
|
||||
};
|
||||
};
|
||||
"flux.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:6061";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"navidrome.zeroq.su" = {
|
||||
"navidrome.home.arpa" = {
|
||||
addSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:4533";
|
||||
proxyPass = "http://127.0.0.1:4533";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"vetymae.opencodes.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
"immich.home.arpa" = {
|
||||
addSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://100.86.62.4:4096";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"lamet.opencodes.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://100.106.21.39:6061";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"n8n.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:5678";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
# "office.zeroq.su" = {
|
||||
# enableACME = true;
|
||||
# forceSSL = true;
|
||||
# locations = {
|
||||
# "/" = {
|
||||
# proxyPass = "http://${server}:8090";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
"nextcloud.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://${server}:10000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
"/whiteboard" = {
|
||||
proxyPass = "http://${server}:3002";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"calibre.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:8083";
|
||||
proxyPass = "http://127.0.0.1:2283";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"nix-cache.zeroq.su" = {
|
||||
"calibre.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:5000";
|
||||
proxyPass = "http://127.0.0.1:8083";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"pdf.zeroq.su" = {
|
||||
"dns.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:8446";
|
||||
proxyWebsockets = true;
|
||||
proxyPass = "http://127.0.0.1:53";
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
# "calibre.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:8083";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "dns.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:53";
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
# "glances.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:61208";
|
||||
# };
|
||||
# };
|
||||
# "syncthing.home.arpa" = {
|
||||
# addSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://127.0.0.1:8384";
|
||||
# };
|
||||
# };
|
||||
"glances.home.arpa" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:61208";
|
||||
};
|
||||
};
|
||||
"syncthing.home.arpa" = {
|
||||
addSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://127.0.0.1:8384";
|
||||
};
|
||||
};
|
||||
# "zeroq.home.arpa" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
@@ -445,8 +269,4 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
];
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ in
|
||||
services.onlyoffice = {
|
||||
enable = true;
|
||||
# package = previous.onlyoffice-documentserver;
|
||||
hostname = "office.zeroq.su";
|
||||
hostname = "office.home.arpa";
|
||||
port = 8090;
|
||||
allowLocalConnections = true;
|
||||
wopi = true;
|
||||
|
||||
@@ -13,4 +13,10 @@
|
||||
power-profiles-daemon.enable = lib.mkForce false;
|
||||
throttled.enable = false;
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
cpupower-gui
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
samba-wsdd = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
hostname = "sapphira";
|
||||
hostname = "sapphira.home.arpa";
|
||||
discovery = true;
|
||||
};
|
||||
samba = {
|
||||
|
||||
@@ -8,6 +8,7 @@ let
|
||||
server = "100.64.0.0";
|
||||
in
|
||||
{
|
||||
# environment.etc."nginx/pubray".text = inputs.zeroq-credentials.services.xray.auth;
|
||||
users.users.nginx.extraGroups = [ "acme" ];
|
||||
services = {
|
||||
nginx = {
|
||||
@@ -16,7 +17,22 @@ in
|
||||
recommendedOptimisation = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
# appendHttpConfig = inputs.zeroq-credentials.services.xray.maps;
|
||||
virtualHosts = {
|
||||
# "pubray.zeroq.su" = {
|
||||
# enableACME = true;
|
||||
# forceSSL = true;
|
||||
# root = "${inputs.zeroq-credentials.services.xray.subs}";
|
||||
# locations."/" = {
|
||||
# extraConfig = ''
|
||||
# auth_basic "Restricted";
|
||||
# auth_basic_user_file /etc/nginx/pubray;
|
||||
|
||||
# if ($subfile = "") { return 403; }
|
||||
# rewrite ^/$ $subfile break;
|
||||
# '';
|
||||
# };
|
||||
# };
|
||||
"x.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
@@ -39,6 +55,210 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
"kuma.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:4001";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"health.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:19999";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"git.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:3000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"homebox.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:7745";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
# "agent.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://${server}:3000";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# };
|
||||
# "node-red.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# kTLS = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://${server}:1880";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
"zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
root = pkgs.writeTextDir "index.html" ''
|
||||
<!doctype html>
|
||||
<html>
|
||||
<body>
|
||||
<pre>What are you doing here?</pre>
|
||||
</body>
|
||||
</html>
|
||||
'';
|
||||
locations = {
|
||||
"/guest/" = {
|
||||
proxyPass = "http://${server}:80";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
# "/.well-known/discord" = {
|
||||
# extraConfig = ''
|
||||
# default_type text/plain;
|
||||
# return 200 "dh=c2d103553a4cfdaa1b7952a87a7d8120a1e167cc";
|
||||
# '';
|
||||
# };
|
||||
};
|
||||
};
|
||||
"flux.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:6061";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"navidrome.zeroq.su" = {
|
||||
addSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:4533";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"vetymae.opencodes.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://100.86.62.4:4096";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"lamet.opencodes.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://100.106.21.39:6061";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"n8n.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:5678";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
"office.zeroq.su" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://${server}:8090";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
|
||||
# proxy_http_version 1.1;
|
||||
# proxy_buffering off;
|
||||
|
||||
# proxy_set_header Host $host;
|
||||
# proxy_set_header X-Forwarded-Host $host;
|
||||
# proxy_set_header X-Forwarded-Proto $scheme;
|
||||
# proxy_set_header X-Real-IP $remote_addr;
|
||||
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
|
||||
# proxy_set_header Authorization $http_authorization;
|
||||
|
||||
# proxy_set_header Upgrade $http_upgrade;
|
||||
# proxy_set_header Connection "upgrade";
|
||||
# ''; # absolute_redirect off;
|
||||
};
|
||||
"immich.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:2283";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"nextcloud.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://${server}:10000";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
"/whiteboard" = {
|
||||
proxyPass = "http://${server}:3002";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"calibre.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:8083";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
"pdf.zeroq.su" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations."/" = {
|
||||
proxyPass = "http://${server}:8446";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
client_max_body_size 5G;
|
||||
'';
|
||||
};
|
||||
# "ai.zeroq.su" = {
|
||||
# forceSSL = true;
|
||||
# enableACME = true;
|
||||
# locations."/" = {
|
||||
# proxyPass = "http://${server}:11112";
|
||||
# proxyWebsockets = true;
|
||||
# };
|
||||
# extraConfig = ''
|
||||
# client_max_body_size 5G;
|
||||
# '';
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
let
|
||||
serviceName = "rsync-services-sync";
|
||||
serverAddress = "oqyude@100.64.0.0";
|
||||
serverDir = "${xlib.dirs.services-nodes-folder}/${xlib.device.hostname}";
|
||||
nodeDir = "${xlib.dirs.services-mnt-folder}";
|
||||
serverDir = "/mnt/services/nodes/vds";
|
||||
nodeDir = "/mnt/services";
|
||||
in
|
||||
{
|
||||
systemd = {
|
||||
|
||||
Reference in New Issue
Block a user