mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-10 20:20:41 +03:00
123
This commit is contained in:
+2
-55
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = {
|
||||
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}" = {
|
||||
|
||||
@@ -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";
|
||||
music-library = "${dirs.user-home}/Music";
|
||||
immich-folder = "${server-home}/Services/immich";
|
||||
nextcloud-folder = "${server-home}/Services/nextcloud";
|
||||
postgresql-folder = "${server-home}/Services/postgresql";
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user