This commit is contained in:
2026-03-23 18:22:21 +03:00
parent 6297df804e
commit c8c7c68c04
18 changed files with 225 additions and 203 deletions
+2 -2
View File
@@ -6,13 +6,13 @@
...
}:
let
stable = import inputs.nixpkgs-beets {
stable = import inputs.nixpkgs-calibre {
system = "x86_64-linux";
};
in
{
services.calibre-web = {
# package = stable.calibre-web;
package = stable.calibre-web;
enable = true;
# dataDir = "${xlib.dirs.services-mnt-folder}/calibre-web";
options = {
-4
View File
@@ -22,10 +22,6 @@ in
accelerationDevices = null;
machine-learning.enable = true;
mediaLocation = "${xlib.dirs.services-mnt-folder}/immich";
database = {
enableVectors = false;
enableVectorChord = true;
};
};
};
+5 -5
View File
@@ -18,14 +18,14 @@ in
nextcloud-whiteboard-server = {
enable = true;
settings = {
NEXTCLOUD_URL = "http://nextcloud.local";
NEXTCLOUD_URL = "http://nextcloud-private.local";
};
secrets = [ "${inputs.zeroq-credentials}/services/nextcloud/jwt-secret.txt" ];
};
nextcloud = {
enable = true;
package = pkgs.nextcloud33;
hostName = "nextcloud.local";
hostName = "nextcloud-private.local";
database.createLocally = true;
home = "${xlib.dirs.services-mnt-folder}/nextcloud";
configureRedis = true;
@@ -49,11 +49,12 @@ in
"192.168.1.20"
"localhost"
"nextcloud.local"
"nextcloud-private.local"
];
trusted_proxies = [
"100.64.1.0"
];
overwriteprotocol = "https";
overwriteprotocol = "";
};
extraAppsEnable = true;
appstoreEnable = false;
@@ -86,7 +87,6 @@ in
impersonate
mail
music
#tasks?
tasks
# news
notes
@@ -142,7 +142,7 @@ in
# fonts.packages = [ work.corefonts ];
networking.hosts = {
"localhost" = [ "nextcloud.local" ];
"localhost" = [ "nextcloud-private.local" ];
};
systemd.services.nextcloud-config-collabora =
+108 -60
View File
@@ -5,6 +5,9 @@
xlib,
...
}:
let
server = "192.168.1.20";
in
{
services = {
nginx = {
@@ -14,84 +17,129 @@
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"nextcloud-private.local" = {
forceSSL = false;
enableACME = false;
listen = [
{
addr = "100.64.0.0";
port = 10000;
}
{
addr = "192.168.1.20";
port = 10000;
}
];
};
"nextcloud.local" = {
forceSSL = false;
enableACME = false;
listen = [
{
addr = "100.64.0.0";
port = 10000;
}
{
addr = "192.168.1.20";
port = 10000;
}
];
locations = {
"/" = {
proxyPass = "http://${server}:10000";
proxyWebsockets = true;
};
"/whiteboard" = {
proxyPass = "http://${server}:3002";
proxyWebsockets = true;
};
};
extraConfig = ''
client_max_body_size 5G;
'';
};
# "localhost:19999" = {
# forceSSL = false;
# enableACME = false;
# listen = [
# {
# addr = "100.64.0.0";
# port = 19999;
# }
# {
# addr = "192.168.1.20";
# port = 19999;
# }
# ];
# };
"zeroq.local" = {
"kuma.local" = {
forceSSL = false;
enableACME = false;
root = pkgs.writeTextDir "index.html" ''
<!doctype html>
<html>
<body>
<pre>This server is running in backend.</pre>
</body>
</html>
'';
listen = [
{
addr = "100.64.0.0";
port = 80;
}
{
addr = "192.168.1.20";
port = 80;
}
];
locations."/" = {
proxyPass = "http://${server}:4001";
proxyWebsockets = true;
};
};
# "localhost:8000" = {
"health.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:19999";
proxyWebsockets = true;
};
};
"agent.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:3000";
proxyWebsockets = true;
};
};
"flux.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:6061";
proxyWebsockets = true;
};
};
"immich.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:2283";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
"office.local" = {
enableACME = false;
forceSSL = false;
locations = {
"/" = {
proxyPass = "http://${server}:9980";
proxyWebsockets = true;
};
};
extraConfig = ''
client_max_body_size 5G;
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;
''; # absolute_redirect off;
};
"calibre.local" = {
forceSSL = false;
enableACME = false;
locations."/" = {
proxyPass = "http://${server}:8083";
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
'';
};
# "zeroq.local" = {
# forceSSL = false;
# enableACME = false;
# root = pkgs.writeTextDir "index.html" ''
# <!doctype html>
# <html>
# <body>
# <pre>This server is running in backend.</pre>
# </body>
# </html>
# '';
# listen = [
# {
# addr = "100.64.0.0";
# port = 9980;
# port = 80;
# }
# {
# addr = "192.168.1.20";
# port = 9980;
# port = 80;
# }
# ];
# };
# "office.zeroq.ru" = {
# forceSSL = false;
# enableACME = false;
# locations."/" = {
# proxyPass = "http://onlyoffice.local:8000";
# proxyWebsockets = true;
# };
# extraConfig = ''
# # Force nginx to return relative redirects. This lets the browser
# # figure out the full URL. This ends up working better because it's in
# # front of the reverse proxy and has the right protocol, hostname & port.
# absolute_redirect off;
# '';
# };
};
};
};
+3
View File
@@ -6,6 +6,9 @@
{
services.samba = {
enable = true;
nmbd = {
enable = false;
};
settings = {
global = {
"invalid users" = [ ];