Add photoprism properly

This commit is contained in:
Jimbo 2024-09-10 14:45:28 -04:00
parent b2b1df3cda
commit 5c5daa49b7
7 changed files with 54 additions and 15 deletions

View file

@ -86,6 +86,11 @@
fsType = "none";
options = [ "bind" ];
};
"/var/lib/private/photoprism/originals" = {
device = "/export/JimboNFS/Photos/Galleries";
fsType = "none";
options = [ "bind" ];
};
};
swapDevices = [
{ device = "/dev/disk/by-uuid/ec422cad-bf93-4b15-b989-2c807f1073a4"; }

View file

@ -33,6 +33,7 @@
./server/nfs.nix
./server/nginx.nix
./server/owncast.nix
./server/photoprism.nix
#./server/pixelfed.nix
./server/minecraft
./server/vaultwarden.nix

View file

@ -3,8 +3,9 @@
enable = true;
package = pkgs.mariadb;
dataDir = "/var/lib/mysql";
initialDatabases = [
{ name = "minecraft"; }
ensureDatabases = [
"minecraft"
"photoprism"
];
ensureUsers = [
{
@ -13,6 +14,12 @@
"minecraft.*" = "ALL PRIVILEGES";
};
}
{
name = "photoprism";
ensurePermissions = {
"photoprism.*" = "ALL PRIVILEGES";
};
}
];
};
}

View file

@ -0,0 +1,30 @@
{outputs, ...}: {
# Photoprism
services = {
photoprism = {
enable = true;
port = 2342;
originalsPath = "/var/lib/private/photoprism/originals";
address = "0.0.0.0";
settings = {
PHOTOPRISM_ADMIN_USER = "jimbo";
PHOTOPRISM_ADMIN_PASSWORD = "${outputs.secrets.prismAdminPass}";
PHOTOPRISM_DEFAULT_LOCALE = "en";
PHOTOPRISM_DATABASE_DRIVER = "mysql";
PHOTOPRISM_DATABASE_NAME = "photoprism";
PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock";
PHOTOPRISM_DATABASE_USER = "photoprism";
PHOTOPRISM_SITE_URL = "https://gallery.${outputs.secrets.jimDomain}";
PHOTOPRISM_SITE_TITLE = "Jimbo's PhotoPrism";
};
};
nginx.virtualHosts."gallery.${outputs.secrets.jimDomain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:2342";
proxyWebsockets = true;
};
};
};
}

View file

@ -25,10 +25,6 @@ in {
publicKey = outputs.secrets.wirePixel9Pub;
allowedIPs = [ "10.100.0.2/32" ];
}
{ # Jimbo Pixel 4
publicKey = outputs.secrets.wirePixel4Pub;
allowedIPs = [ "10.100.0.3/32" ];
}
];
};
};