{ pkgs, ... }: { services = { photoprism = { enable = true; port = 2342; settings = { PHOTOPRISM_DEFAULT_LOCALE = "fr"; PHOTOPRISM_ADMIN_USERNAME = "admin"; PHOHOPRISM_SITE_URL = "https://photoprism.cgiga.fr"; PHOTOPRISM_SITE_CAPTION = "PhotoPrism"; # DB access config PHOTOPRISM_DATABASE_DRIVER = "mysql"; PHOTOPRISM_DATABASE_NAME = "photoprism"; PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock"; PHOTOPRISM_DATABASE_USER = "photoprism"; }; originalsPath = "/data/photos"; address = "localhost"; #importPath = "/photoprism/imports"; passwordFile = "/passwords/photoprism"; }; mysql = { enable = true; dataDir = "/data/mysql"; package = pkgs.mariadb; ensureDatabases = [ "photoprism" ]; ensureUsers = [ { name = "photoprism"; ensurePermissions = { "photoprism.*" = "ALL PRIVILEGES"; }; } ]; }; nginx.virtualHosts."photoprism.cgiga.fr" = { enableACME = true; forceSSL = true; serverAliases = [ ]; locations."/" = { proxyPass = "http://localhost:2342/"; proxyWebsockets = true; }; }; }; }