This commit is contained in:
2025-06-05 21:08:16 +03:00
parent b4db82239e
commit a02077f5fd
6 changed files with 127 additions and 74 deletions
+2 -55
View File
@@ -14,6 +14,8 @@ let
self.nixosModules.software.beets
self.nixosModules.server.immich
self.nixosModules.server.nextcloud
self.nixosModules.server.cloudflared
#self.nixosModules.extra.self.zapret
self.homeConfigurations.server.nixosModule # home-manager configuration module
@@ -72,61 +74,6 @@ let
};
services = {
nextcloud = {
enable = false;
package = pkgs.nextcloud30;
hostName = "localhost:10000";
database.createLocally = true;
config = {
dbtype = "mysql";
dbuser = "nextcloud";
#dbhost = "/run/postgresql";
dbname = "nextcloud";
adminuser = "root";
#adminpassFile = "${inputs.zeroq.dirs.credentials-target}/nextcloud/admin-pass.txt";
};
settings = {
appstoreEnable = false;
log_type = "file";
trusted_domains = [
"100.64.0.0"
"192.168.1.18"
"localhost"
];
};
extraAppsEnable = true;
extraApps = {
inherit (pkgs.nextcloud30Packages.apps)
bookmarks
calendar
contacts
cookbook
cospend
deck
end_to_end_encryption
forms
gpoddersync
groupfolders
impersonate
integration_paperless
mail
maps
memories
music
notes
notify_push
onlyoffice
polls
previewgenerator
richdocuments
spreed
tasks
user_oidc
user_saml
whiteboard
;
};
};
earlyoom.enable = true;
preload.enable = true;
auto-cpufreq.enable = true;
Executable → Regular
+2
View File
@@ -111,7 +111,9 @@
};
};
server = {
cloudflared = import ./modules/server/cloudflared.nix flakeContext;
immich = import ./modules/server/immich.nix flakeContext;
nextcloud = import ./modules/server/nextcloud.nix flakeContext;
};
};
+34
View File
@@ -0,0 +1,34 @@
{ inputs, ... }@flakeContext:
{
config,
lib,
pkgs,
...
}:
{
services = {
cloudflared = {
enable = true;
certificateFile = "${inputs.zeroq.dirs.server-home}/Credentials/server/cloudflared/cert.pem";
tunnels = {
"e5d66ea5-d6d2-4eef-9b34-82696946ef58" = {
credentialsFile = "${inputs.zeroq.dirs.server-home}/Credentials/server/cloudflared/immich.json";
ingress = {
"immich.zeroq.ru" = {
service = "http://localhost:2283";
};
};
warp-routing.enabled = true;
default = "http_status:404";
};
};
};
};
environment = {
systemPackages = with pkgs; [
cloudflared
];
};
}
+3 -19
View File
@@ -7,9 +7,9 @@
}:
{
services = {
postgresql = {
enable = lib.mkDefault true;
};
# postgresql = {
# enable = lib.mkDefault true;
# };
immich = {
enable = true;
port = 2283;
@@ -19,22 +19,6 @@
machine-learning.enable = false;
mediaLocation = "/mnt/immich";
};
cloudflared = {
enable = true;
tunnels = {
"e5d66ea5-d6d2-4eef-9b34-82696946ef58" = {
credentialsFile = "${inputs.zeroq.dirs.server-home}/Credentials/server/cloudflared/immich.json";
certificateFile = "${inputs.zeroq.dirs.server-home}/Credentials/server/cloudflared/cert.pem";
ingress = {
"immich.zeroq.ru" = {
service = "http://localhost:2283";
};
};
warp-routing.enabled = true;
default = "http_status:404";
};
};
};
};
fileSystems."${config.services.immich.mediaLocation}" = {
+85
View File
@@ -0,0 +1,85 @@
{ inputs, ... }@flakeContext:
{
config,
lib,
pkgs,
...
}:
{
services = {
nextcloud = {
enable = false;
package = pkgs.nextcloud30;
hostName = "localhost:10000";
database.createLocally = true;
home = "/mnt/nextcloud";
config = {
dbtype = "mysql";
dbuser = "nextcloud";
#dbhost = "/run/postgresql";
dbname = "nextcloud";
adminuser = "oqyude";
adminpassFile = "${inputs.zeroq.dirs.credentials-target}/nextcloud/admin-pass.txt";
};
settings = {
appstoreEnable = false;
log_type = "file";
trusted_domains = [
"nextcloud.zeroq.ru"
#"100.64.0.0"
#"192.168.1.18"
#"localhost"
];
};
extraAppsEnable = true;
extraApps = {
inherit (pkgs.nextcloud30Packages.apps)
bookmarks
calendar
contacts
cookbook
cospend
deck
end_to_end_encryption
forms
gpoddersync
groupfolders
impersonate
integration_paperless
mail
maps
memories
music
notes
notify_push
onlyoffice
polls
previewgenerator
richdocuments
spreed
tasks
user_oidc
user_saml
whiteboard
;
};
};
};
fileSystems."/mnt/nextcloud" = {
device = "${inputs.zeroq.dirs.nextcloud-folder}";
options = [
"bind"
#"uid=1000"
#"gid=1000"
#"fmask=0007"
#"dmask=0007"
"nofail"
"x-systemd.device-timeout=0"
];
};
systemd.tmpfiles.rules = [
"z /mnt/nextcloud 0755 nextcloud nextcloud -"
];
}
Executable → Regular
+1
View File
@@ -36,6 +36,7 @@
calibre-library = "${server-home}/Books-Library";
music-library = "${dirs.user-home}/Music";
immich-folder = "${server-home}/Services/immich";
nextcloud-folder = "${server-home}/Services/nextcloud";
postgresql-folder = "${server-home}/Services/postgresql";
};
};