mirror of
https://github.com/oqyude/nixos.git
synced 2026-08-08 23:53:11 +03:00
server preparing migration
This commit is contained in:
@@ -28,6 +28,7 @@
|
|||||||
kernel = {
|
kernel = {
|
||||||
sysctl = {
|
sysctl = {
|
||||||
"fs.inotify.max_user_watches" = "204800";
|
"fs.inotify.max_user_watches" = "204800";
|
||||||
|
"net.ipv4.ip_forward" = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelModules = [
|
kernelModules = [
|
||||||
|
|||||||
@@ -110,10 +110,10 @@ let
|
|||||||
hostName = "${xlib.device.hostname}";
|
hostName = "${xlib.device.hostname}";
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
firewall.enable = false;
|
firewall.enable = false;
|
||||||
nameservers = [
|
# nameservers = [
|
||||||
"127.0.0.1"
|
# "192.168.1.1"
|
||||||
"192.168.1.1"
|
# "127.0.0.1"
|
||||||
];
|
# ];
|
||||||
};
|
};
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
settings = {
|
settings = {
|
||||||
require-sigs = false;
|
require-sigs = false;
|
||||||
substituters = [
|
substituters = [
|
||||||
"http://100.64.0.0:5000"
|
"https://nix-cache.zeroq.su"
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://mirror.yandex.ru/nixos"
|
"https://mirror.yandex.ru/nixos"
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
# "https://nixos.snix.store" # https://nixos.snix.store/
|
# "https://nixos.snix.store" # https://nixos.snix.store/
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"nix-cache.home.arpa:be5jFLkiwNyOep/McxSafB3jguBmztxx+oJ46ySyc/s="
|
"nix-cache.zeroq.su:be5jFLkiwNyOep/McxSafB3jguBmztxx+oJ46ySyc/s="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
stalled-download-timeout = 8;
|
stalled-download-timeout = 8;
|
||||||
|
|||||||
+11
-11
@@ -8,20 +8,20 @@
|
|||||||
acme = {
|
acme = {
|
||||||
acceptTerms = true;
|
acceptTerms = true;
|
||||||
defaults = {
|
defaults = {
|
||||||
email = "oqyude@zeroq.su";
|
email = "oqyude@gmail.com";
|
||||||
server = "https://localhost:9000/acme/acme/directory";
|
|
||||||
dnsProvider = null;
|
|
||||||
};
|
};
|
||||||
# certs = {
|
# certs = {
|
||||||
# # "home.arpa" = {
|
# "home.arpa" = {
|
||||||
# # domain = "*.home.arpa";
|
# email = "oqyude@zeroq.su";
|
||||||
# # server = "https://localhost:9000/acme/acme/directory";
|
# domain = "*.home.arpa";
|
||||||
# # listenHTTP = ":80";
|
# server = "https://localhost:9000/acme/acme/directory";
|
||||||
|
# listenHTTP = ":80";
|
||||||
|
# dnsProvider = null;
|
||||||
|
# };
|
||||||
|
# # "turn.home.arpa" = {
|
||||||
|
# # listenHTTP = "127.0.0.1:80";
|
||||||
|
# # group = "turnserver";
|
||||||
# # };
|
# # };
|
||||||
# "turn.home.arpa" = {
|
|
||||||
# listenHTTP = "127.0.0.1:80";
|
|
||||||
# group = "turnserver";
|
|
||||||
# };
|
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
192.168.1.20 flux.zeroq.su
|
192.168.1.20 flux.zeroq.su
|
||||||
192.168.1.20 git.zeroq.su
|
192.168.1.20 git.zeroq.su
|
||||||
192.168.1.20 glances.zeroq.su
|
192.168.1.20 glances.zeroq.su
|
||||||
192.168.1.20 homebox.home.arpa
|
192.168.1.20 homebox.zeroq.su
|
||||||
192.168.1.20 immich.zeroq.su
|
192.168.1.20 immich.zeroq.su
|
||||||
192.168.1.20 kuma.zeroq.su
|
192.168.1.20 kuma.zeroq.su
|
||||||
192.168.1.20 navidrome.zeroq.su
|
192.168.1.20 navidrome.zeroq.su
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
./postgresql.nix
|
./postgresql.nix
|
||||||
./power.nix
|
./power.nix
|
||||||
./samba.nix
|
./samba.nix
|
||||||
./step-ca.nix
|
# ./step-ca.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
./systemd.nix
|
./systemd.nix
|
||||||
# ../containers/remnawave.nix
|
# ../containers/remnawave.nix
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
appName = "ZeroQ Gitea Service";
|
appName = "ZeroQ Gitea Service";
|
||||||
settings = {
|
settings = {
|
||||||
server = {
|
server = {
|
||||||
DOMAIN = "git.home.arpa";
|
DOMAIN = "git.zeroq.su";
|
||||||
HTTP_PORT = 3000;
|
HTTP_PORT = 3000;
|
||||||
};
|
};
|
||||||
service.DISABLE_REGISTRATION = true;
|
service.DISABLE_REGISTRATION = true;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
nextcloud-whiteboard-server = {
|
nextcloud-whiteboard-server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
NEXTCLOUD_URL = "https://nextcloud.home.arpa";
|
NEXTCLOUD_URL = "https://nextcloud.zeroq.su";
|
||||||
};
|
};
|
||||||
secrets = [ config.sops.secrets.nextcloud-whiteboard-jwt.path ];
|
secrets = [ config.sops.secrets.nextcloud-whiteboard-jwt.path ];
|
||||||
};
|
};
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
hostName = "talk.private";
|
hostName = "talk.private";
|
||||||
backends.nextcloud = {
|
backends.nextcloud = {
|
||||||
urls = [
|
urls = [
|
||||||
"https://nextcloud.home.arpa"
|
|
||||||
"https://nextcloud.zeroq.su"
|
"https://nextcloud.zeroq.su"
|
||||||
|
# "https://nextcloud.home.arpa"
|
||||||
];
|
];
|
||||||
secretFile = config.sops.secrets.nextcloud-talk-secret.path;
|
secretFile = config.sops.secrets.nextcloud-talk-secret.path;
|
||||||
};
|
};
|
||||||
@@ -40,9 +40,9 @@
|
|||||||
secretFile = config.sops.secrets.turn-secret.path;
|
secretFile = config.sops.secrets.turn-secret.path;
|
||||||
apikeyFile = config.sops.secrets.turn-api-key.path;
|
apikeyFile = config.sops.secrets.turn-api-key.path;
|
||||||
servers = [
|
servers = [
|
||||||
"turn:turn.home.arpa:3478?transport=udp"
|
"turn:turn.zeroq.su:3478?transport=udp"
|
||||||
"turn:turn.home.arpa:3478?transport=tcp"
|
"turn:turn.zeroq.su:3478?transport=tcp"
|
||||||
# "turns:turn.home.arpa:5349?transport=tcp"
|
# "turns:turn.zeroq.su:5349?transport=tcp"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -72,26 +72,28 @@
|
|||||||
trusted_domains = [
|
trusted_domains = [
|
||||||
"100.64.0.0"
|
"100.64.0.0"
|
||||||
"192.168.1.20"
|
"192.168.1.20"
|
||||||
|
"37.128.246.126"
|
||||||
"localhost"
|
"localhost"
|
||||||
|
"nextcloud.home.arpa"
|
||||||
"nextcloud.private"
|
"nextcloud.private"
|
||||||
"nextcloud.zeroq.su"
|
"nextcloud.zeroq.su"
|
||||||
"office.zeroq.su"
|
|
||||||
"office.home.arpa"
|
"office.home.arpa"
|
||||||
"nextcloud.home.arpa"
|
"office.zeroq.su"
|
||||||
];
|
];
|
||||||
trusted_proxies = [
|
trusted_proxies = [
|
||||||
"100.64.1.0"
|
"100.64.1.0"
|
||||||
"192.168.1.20"
|
|
||||||
"109.248.161.5"
|
"109.248.161.5"
|
||||||
|
"192.168.1.20"
|
||||||
|
"37.128.246.126"
|
||||||
];
|
];
|
||||||
overwriteprotocol = "https"; # maybe no
|
overwriteprotocol = "https"; # maybe no
|
||||||
};
|
};
|
||||||
extraAppsEnable = true;
|
extraAppsEnable = true;
|
||||||
appstoreEnable = false;
|
appstoreEnable = false;
|
||||||
notify_push = {
|
notify_push = {
|
||||||
enable = false;
|
enable = true;
|
||||||
bendDomainToLocalhost = true;
|
bendDomainToLocalhost = true;
|
||||||
nextcloudUrl = "https://nextcloud.home.arpa";
|
nextcloudUrl = "https://nextcloud.zeroq.su";
|
||||||
};
|
};
|
||||||
# phpPackage = pkgs.php85;
|
# phpPackage = pkgs.php85;
|
||||||
extraApps = {
|
extraApps = {
|
||||||
|
|||||||
+293
-113
@@ -35,7 +35,7 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
"office.home.arpa" = {
|
"office.zeroq.su" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
};
|
};
|
||||||
@@ -64,46 +64,46 @@ in
|
|||||||
client_max_body_size 5G;
|
client_max_body_size 5G;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"pdf.home.arpa" = {
|
# "pdf.home.arpa" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations = {
|
# locations = {
|
||||||
"/" = {
|
# "/" = {
|
||||||
proxyPass = "http://127.0.0.1:8446";
|
# proxyPass = "http://127.0.0.1:8446";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
extraConfig = ''
|
# extraConfig = ''
|
||||||
client_max_body_size 5G;
|
# client_max_body_size 5G;
|
||||||
'';
|
# '';
|
||||||
};
|
# };
|
||||||
"homebox.home.arpa" = {
|
# "homebox.home.arpa" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations = {
|
# locations = {
|
||||||
"/" = {
|
# "/" = {
|
||||||
proxyPass = "http://127.0.0.1:7745";
|
# proxyPass = "http://127.0.0.1:7745";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
"nextcloud.home.arpa" = {
|
# "nextcloud.home.arpa" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations = {
|
# locations = {
|
||||||
"/" = {
|
# "/" = {
|
||||||
proxyPass = "http://127.0.0.1:10000";
|
# proxyPass = "http://127.0.0.1:10000";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
"/whiteboard" = {
|
# "/whiteboard" = {
|
||||||
proxyPass = "http://127.0.0.1:3002";
|
# proxyPass = "http://127.0.0.1:3002";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
extraConfig = ''
|
# extraConfig = ''
|
||||||
client_max_body_size 5G;
|
# client_max_body_size 5G;
|
||||||
'';
|
# '';
|
||||||
};
|
# };
|
||||||
# "talk.home.arpa" = {
|
# "talk.home.arpa" = {
|
||||||
# forceSSL = true;
|
# forceSSL = true;
|
||||||
# enableACME = true;
|
# enableACME = true;
|
||||||
@@ -130,39 +130,28 @@ in
|
|||||||
# client_max_body_size 5G;
|
# client_max_body_size 5G;
|
||||||
# '';
|
# '';
|
||||||
# };
|
# };
|
||||||
"ca.home.arpa" = {
|
# "ca.zeroq.su" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations."/" = {
|
# locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:9000";
|
# proxyPass = "http://127.0.0.1:9000";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
extraConfig = ''
|
# extraConfig = ''
|
||||||
client_max_body_size 5G;
|
# client_max_body_size 5G;
|
||||||
'';
|
# '';
|
||||||
};
|
# };
|
||||||
"git.home.arpa" = {
|
# "git.home.arpa" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations."/" = {
|
# locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:3000";
|
# proxyPass = "http://127.0.0.1:3000";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
extraConfig = ''
|
# extraConfig = ''
|
||||||
client_max_body_size 5G;
|
# 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" = {
|
# "n8n.home.arpa" = {
|
||||||
# forceSSL = true;
|
# forceSSL = true;
|
||||||
# enableACME = true;
|
# enableACME = true;
|
||||||
@@ -174,76 +163,263 @@ in
|
|||||||
# client_max_body_size 5G;
|
# client_max_body_size 5G;
|
||||||
# '';
|
# '';
|
||||||
# };
|
# };
|
||||||
"kuma.home.arpa" = {
|
# "kuma.home.arpa" = {
|
||||||
forceSSL = true;
|
# forceSSL = true;
|
||||||
enableACME = true;
|
# enableACME = true;
|
||||||
locations."/" = {
|
# locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:4001";
|
# proxyPass = "http://127.0.0.1:4001";
|
||||||
proxyWebsockets = true;
|
# proxyWebsockets = true;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
"flux.home.arpa" = {
|
# "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" = {
|
||||||
addSSL = true;
|
addSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:6061";
|
proxyPass = "http://${server}:2283";
|
||||||
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;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
client_max_body_size 5G;
|
client_max_body_size 5G;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"calibre.home.arpa" = {
|
"kuma.zeroq.su" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:8083";
|
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;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
"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;
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
client_max_body_size 5G;
|
client_max_body_size 5G;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"dns.home.arpa" = {
|
"nix-cache.zeroq.su" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:53";
|
proxyPass = "http://${server}:5000";
|
||||||
|
proxyWebsockets = true;
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
client_max_body_size 5G;
|
client_max_body_size 5G;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
"glances.home.arpa" = {
|
"pdf.zeroq.su" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
locations."/" = {
|
locations."/" = {
|
||||||
proxyPass = "http://127.0.0.1:61208";
|
proxyPass = "http://${server}:8446";
|
||||||
};
|
proxyWebsockets = true;
|
||||||
};
|
|
||||||
"syncthing.home.arpa" = {
|
|
||||||
addSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://127.0.0.1:8384";
|
|
||||||
};
|
};
|
||||||
|
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";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
# "zeroq.home.arpa" = {
|
# "zeroq.home.arpa" = {
|
||||||
# forceSSL = true;
|
# forceSSL = true;
|
||||||
# enableACME = true;
|
# enableACME = true;
|
||||||
@@ -269,4 +445,8 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ in
|
|||||||
services.onlyoffice = {
|
services.onlyoffice = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# package = previous.onlyoffice-documentserver;
|
# package = previous.onlyoffice-documentserver;
|
||||||
hostname = "office.home.arpa";
|
hostname = "office.zeroq.su";
|
||||||
port = 8090;
|
port = 8090;
|
||||||
allowLocalConnections = true;
|
allowLocalConnections = true;
|
||||||
wopi = true;
|
wopi = true;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
samba-wsdd = {
|
samba-wsdd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
hostname = "sapphira.home.arpa";
|
hostname = "sapphira";
|
||||||
discovery = true;
|
discovery = true;
|
||||||
};
|
};
|
||||||
samba = {
|
samba = {
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ let
|
|||||||
server = "100.64.0.0";
|
server = "100.64.0.0";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# environment.etc."nginx/pubray".text = inputs.zeroq-credentials.services.xray.auth;
|
|
||||||
users.users.nginx.extraGroups = [ "acme" ];
|
users.users.nginx.extraGroups = [ "acme" ];
|
||||||
services = {
|
services = {
|
||||||
nginx = {
|
nginx = {
|
||||||
@@ -17,22 +16,7 @@ in
|
|||||||
recommendedOptimisation = true;
|
recommendedOptimisation = true;
|
||||||
recommendedProxySettings = true;
|
recommendedProxySettings = true;
|
||||||
recommendedTlsSettings = true;
|
recommendedTlsSettings = true;
|
||||||
# appendHttpConfig = inputs.zeroq-credentials.services.xray.maps;
|
|
||||||
virtualHosts = {
|
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" = {
|
"x.zeroq.su" = {
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
@@ -55,210 +39,6 @@ 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;
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user