nixos/hosts/architect/photoprism.nix

38 lines
1.1 KiB
Nix
Raw Normal View History

2023-06-05 02:15:23 +01:00
{ config, pkgs, lib, ... }:
let
domain = "photos.giugl.io";
in
{
2023-06-05 02:22:41 +01:00
services.photoprism = {
enable = true;
2023-12-18 23:36:45 +00:00
package = pkgs.unstablePkgs.photoprism;
2023-06-05 02:22:41 +01:00
originalsPath = "/var/lib/private/photoprism/originals";
address = "0.0.0.0";
settings = {
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://${domain}";
PHOTOPRISM_SITE_TITLE = "PePrism";
PHOTOPRISM_FFMPEG_ENCODER = "nvidia";
PHOTOPRISM_INIT = "tensorflow";
NVIDIA_VISIBLE_DEVICES = "all";
NVIDIA_DRIVER_CAPABILITIES = "compute,video,utility";
PHOTOPRISM_FFMPEG_BIN = "${pkgs.ffmpeg}/bin/ffmpeg";
2023-06-05 02:15:23 +01:00
};
2023-06-05 02:22:41 +01:00
};
2023-06-05 02:15:23 +01:00
2023-06-05 02:22:41 +01:00
architect.vhost.${domain} = {
dnsInterfaces = [ "tailscale" "lan" ];
locations."/" = {
port = config.services.photoprism.port;
allowLan = true;
allow = [ config.architect.networks."tailscale".net ];
proxyWebsockets = true;
2023-06-05 02:15:23 +01:00
};
2023-06-05 02:22:41 +01:00
};
}