mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 04:30:41 +03:00
123
This commit is contained in:
+2
-55
@@ -14,6 +14,8 @@ let
|
|||||||
|
|
||||||
self.nixosModules.software.beets
|
self.nixosModules.software.beets
|
||||||
self.nixosModules.server.immich
|
self.nixosModules.server.immich
|
||||||
|
self.nixosModules.server.nextcloud
|
||||||
|
self.nixosModules.server.cloudflared
|
||||||
#self.nixosModules.extra.self.zapret
|
#self.nixosModules.extra.self.zapret
|
||||||
|
|
||||||
self.homeConfigurations.server.nixosModule # home-manager configuration module
|
self.homeConfigurations.server.nixosModule # home-manager configuration module
|
||||||
@@ -72,61 +74,6 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
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;
|
earlyoom.enable = true;
|
||||||
preload.enable = true;
|
preload.enable = true;
|
||||||
auto-cpufreq.enable = true;
|
auto-cpufreq.enable = true;
|
||||||
|
|||||||
@@ -111,7 +111,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
server = {
|
server = {
|
||||||
|
cloudflared = import ./modules/server/cloudflared.nix flakeContext;
|
||||||
immich = import ./modules/server/immich.nix flakeContext;
|
immich = import ./modules/server/immich.nix flakeContext;
|
||||||
|
nextcloud = import ./modules/server/nextcloud.nix flakeContext;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -7,9 +7,9 @@
|
|||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
postgresql = {
|
# postgresql = {
|
||||||
enable = lib.mkDefault true;
|
# enable = lib.mkDefault true;
|
||||||
};
|
# };
|
||||||
immich = {
|
immich = {
|
||||||
enable = true;
|
enable = true;
|
||||||
port = 2283;
|
port = 2283;
|
||||||
@@ -19,22 +19,6 @@
|
|||||||
machine-learning.enable = false;
|
machine-learning.enable = false;
|
||||||
mediaLocation = "/mnt/immich";
|
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}" = {
|
fileSystems."${config.services.immich.mediaLocation}" = {
|
||||||
|
|||||||
@@ -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
@@ -36,6 +36,7 @@
|
|||||||
calibre-library = "${server-home}/Books-Library";
|
calibre-library = "${server-home}/Books-Library";
|
||||||
music-library = "${dirs.user-home}/Music";
|
music-library = "${dirs.user-home}/Music";
|
||||||
immich-folder = "${server-home}/Services/immich";
|
immich-folder = "${server-home}/Services/immich";
|
||||||
|
nextcloud-folder = "${server-home}/Services/nextcloud";
|
||||||
postgresql-folder = "${server-home}/Services/postgresql";
|
postgresql-folder = "${server-home}/Services/postgresql";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user