mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 04:58:19 -04:00
adding photoprism
This commit is contained in:
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
@@ -2,12 +2,15 @@
|
|||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
"aboutwelcome",
|
"aboutwelcome",
|
||||||
"acltype",
|
"acltype",
|
||||||
|
"addstr",
|
||||||
"ahci",
|
"ahci",
|
||||||
"aioesphomeapi",
|
"aioesphomeapi",
|
||||||
"alsa",
|
"alsa",
|
||||||
"archlinux",
|
"archlinux",
|
||||||
"ashift",
|
"ashift",
|
||||||
"asrouter",
|
"asrouter",
|
||||||
|
"attroff",
|
||||||
|
"attron",
|
||||||
"auditd",
|
"auditd",
|
||||||
"autofetch",
|
"autofetch",
|
||||||
"autopull",
|
"autopull",
|
||||||
@@ -67,6 +70,8 @@
|
|||||||
"fxaccounts",
|
"fxaccounts",
|
||||||
"gamemode",
|
"gamemode",
|
||||||
"gamescope",
|
"gamescope",
|
||||||
|
"getch",
|
||||||
|
"getmaxyx",
|
||||||
"ghdeploy",
|
"ghdeploy",
|
||||||
"globalprivacycontrol",
|
"globalprivacycontrol",
|
||||||
"gparted",
|
"gparted",
|
||||||
@@ -111,6 +116,7 @@
|
|||||||
"mkpart",
|
"mkpart",
|
||||||
"modesetting",
|
"modesetting",
|
||||||
"mountpoint",
|
"mountpoint",
|
||||||
|
"mountpoints",
|
||||||
"mousewheel",
|
"mousewheel",
|
||||||
"mtxr",
|
"mtxr",
|
||||||
"ncdu",
|
"ncdu",
|
||||||
@@ -126,6 +132,7 @@
|
|||||||
"nixpkgs",
|
"nixpkgs",
|
||||||
"nmap",
|
"nmap",
|
||||||
"noauto",
|
"noauto",
|
||||||
|
"noecho",
|
||||||
"nonsponsored",
|
"nonsponsored",
|
||||||
"Noto",
|
"Noto",
|
||||||
"nvme",
|
"nvme",
|
||||||
@@ -144,6 +151,7 @@
|
|||||||
"peerconnection",
|
"peerconnection",
|
||||||
"PESKYFOX",
|
"PESKYFOX",
|
||||||
"PGID",
|
"PGID",
|
||||||
|
"photoprism",
|
||||||
"pipewire",
|
"pipewire",
|
||||||
"pkgs",
|
"pkgs",
|
||||||
"plugdev",
|
"plugdev",
|
||||||
|
|||||||
76
systems/jeeves/docker/photoprism.nix
Normal file
76
systems/jeeves/docker/photoprism.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
let
|
||||||
|
vars = import ../vars.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
photoprism = {
|
||||||
|
image = "photoprism/photoprism:latest";
|
||||||
|
ports = [ "2342:2342" ];
|
||||||
|
volumes = [
|
||||||
|
"${vars.media_docker_configs}/photoprism:/photoprism/storage"
|
||||||
|
"${vars.storage_photos}/originals:/photoprism/originals"
|
||||||
|
"${vars.storage_photos}/import:/photoprism/import"
|
||||||
|
];
|
||||||
|
environment = {
|
||||||
|
PHOTOPRISM_ADMIN_USER="admin";
|
||||||
|
PHOTOPRISM_AUTH_MODE="password";
|
||||||
|
PHOTOPRISM_DISABLE_TLS="false";
|
||||||
|
PHOTOPRISM_DEFAULT_TLS="true";
|
||||||
|
PHOTOPRISM_ORIGINALS_LIMIT="30000";
|
||||||
|
PHOTOPRISM_HTTP_COMPRESSION="gzip";
|
||||||
|
PHOTOPRISM_LOG_LEVEL="info";
|
||||||
|
PHOTOPRISM_READONLY="false";
|
||||||
|
PHOTOPRISM_EXPERIMENTAL="false";
|
||||||
|
PHOTOPRISM_DISABLE_CHOWN="false";
|
||||||
|
PHOTOPRISM_DISABLE_WEBDAV="false";
|
||||||
|
PHOTOPRISM_DISABLE_SETTINGS="false";
|
||||||
|
PHOTOPRISM_DISABLE_TENSORFLOW="false";
|
||||||
|
PHOTOPRISM_DISABLE_FACES="false";
|
||||||
|
PHOTOPRISM_DISABLE_CLASSIFICATION="false";
|
||||||
|
PHOTOPRISM_DISABLE_VECTORS="false";
|
||||||
|
PHOTOPRISM_DISABLE_RAW="false";
|
||||||
|
PHOTOPRISM_RAW_PRESETS="false";
|
||||||
|
PHOTOPRISM_SIDECAR_YAML="true";
|
||||||
|
PHOTOPRISM_BACKUP_ALBUMS="true";
|
||||||
|
PHOTOPRISM_BACKUP_DATABASE="true";
|
||||||
|
PHOTOPRISM_BACKUP_SCHEDULE="daily";
|
||||||
|
PHOTOPRISM_INDEX_SCHEDULE="";
|
||||||
|
PHOTOPRISM_AUTO_INDEX="300";
|
||||||
|
PHOTOPRISM_AUTO_IMPORT= "-1";
|
||||||
|
PHOTOPRISM_DETECT_NSFW="false";
|
||||||
|
PHOTOPRISM_UPLOAD_NSFW="true";
|
||||||
|
PHOTOPRISM_DATABASE_DRIVER="mysql";
|
||||||
|
PHOTOPRISM_DATABASE_SERVER="photoprism_mariadb:3306";
|
||||||
|
PHOTOPRISM_DATABASE_NAME="photoprism";
|
||||||
|
PHOTOPRISM_DATABASE_USER="photoprism";
|
||||||
|
PHOTOPRISM_SITE_CAPTION="AI-Powered Photos App";
|
||||||
|
PHOTOPRISM_SITE_DESCRIPTION="";
|
||||||
|
PHOTOPRISM_SITE_AUTHOR="";
|
||||||
|
PHOTOPRISM_UID="600";
|
||||||
|
PHOTOPRISM_GID="600";
|
||||||
|
# PHOTOPRISM_UMASK: 0000
|
||||||
|
};
|
||||||
|
environmentFiles = [/root/secrets/docker/photoprism];
|
||||||
|
autoStart = true;
|
||||||
|
dependsOn = [ "photoprism_mariadb" ];
|
||||||
|
extraOptions = [ "--network=web" ];
|
||||||
|
};
|
||||||
|
photoprism_mariadb = {
|
||||||
|
image = "mariadb:11";
|
||||||
|
volumes = [ "${vars.media_database}/photoprism_mariadb:/var/lib/photoprism_mariadb" ];
|
||||||
|
environment = {
|
||||||
|
MARIADB_AUTO_UPGRADE = "1";
|
||||||
|
MARIADB_INITDB_SKIP_TZINFO = "1";
|
||||||
|
MARIADB_DATABASE = "photoprism";
|
||||||
|
MARIADB_USER = "photoprism";
|
||||||
|
};
|
||||||
|
environmentFiles = [/root/secrets/docker/photoprism];
|
||||||
|
cmd = [ "--innodb-buffer-pool-size=512M" "--transaction-isolation=READ-COMMITTED" "--character-set-server=utf8mb4" "--collation-server=utf8mb4_unicode_ci" "--max-connections=512" "--innodb-rollback-on-timeout=OFF" "--innodb-lock-wait-timeout=120" ];
|
||||||
|
autoStart = true;
|
||||||
|
extraOptions = [ "--network=web" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,12 +1,29 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# zpools
|
||||||
|
|
||||||
|
sudo zpool create -o ashift=12 -O acltype=posixacl -O atime=off -O dnodesize=auto -O xattr=sa -O xattr=sa -O zstd -m /zfs/media media mirror
|
||||||
|
sudo zpool add media -o ashift=12 special mirror
|
||||||
|
|
||||||
|
sudo zpool create -o ashift=12 -O acltype=posixacl -O atime=off -O dnodesize=auto -O xattr=sa -O xattr=sa -O zstd -m /zfs/storage storage
|
||||||
|
sudo zpool add storage -o ashift=12 special mirror
|
||||||
|
sudo zpool add storage -o ashift=12 logs mirror
|
||||||
|
|
||||||
|
sudo zpool create -o ashift=12 -O acltype=posixacl -O atime=off -O dnodesize=auto -O xattr=sa -O xattr=sa -O zstd -m /zfs/torrenting torrenting
|
||||||
|
|
||||||
# media datasets
|
# media datasets
|
||||||
sudo zfs create -o compression=zstd-9 -o encryption=off -o atime=off media/plex
|
sudo zfs create -o compression=zstd-9 media/plex
|
||||||
sudo zfs create -o compression=zstd-9 -o encryption=off -o atime=off media/docker
|
sudo zfs create -o compression=zstd-9 media/docker
|
||||||
sudo zfs create -o encryption=off -o atime=off -o exec=off media/mirror
|
sudo zfs create -o exec=off media/mirror
|
||||||
sudo zfs create -o encryption=off -o atime=off -o exec=off media/minio
|
sudo zfs create -o exec=off media/minio
|
||||||
sudo zfs create -o encryption=off -o atime=off -o copies=3 media/notes
|
sudo zfs create -o copies=3 media/notes
|
||||||
|
sudo zfs create -o recordsize=16k -o primarycache=metadata -o mountpoint=/zfs/media/database/postgres media/postgres
|
||||||
|
sudo zfs create -o recordsize=16k -o primarycache=metadata -o mountpoint=/zfs/media/database/photoprism_mariadb media/photoprism_mariadb
|
||||||
|
|
||||||
|
# storage datasets
|
||||||
|
sudo zfs create -o recordsize=16K -o compression=zstd-19 -o copies=2 storage/photos
|
||||||
|
sudo zfs create -o recordsize=1M -o compression=zstd-19 storage/archive
|
||||||
|
|
||||||
# torrenting datasets
|
# torrenting datasets
|
||||||
sudo zfs create -o recordsize=16K -o encryption=off -o atime=off -o exec=off -o sync=disabled torrenting/qbit
|
sudo zfs create -o recordsize=16K -o exec=off -o sync=disabled torrenting/qbit
|
||||||
sudo zfs create -o recordsize=16K -o encryption=off -o atime=off -o exec=off -o sync=disabled torrenting/qbitvpn
|
sudo zfs create -o recordsize=16K -o exec=off -o sync=disabled torrenting/qbitvpn
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ in
|
|||||||
storage_main = "${zfs_storage}/main";
|
storage_main = "${zfs_storage}/main";
|
||||||
storage_plex = "${zfs_storage}/plex";
|
storage_plex = "${zfs_storage}/plex";
|
||||||
storage_syncthing = "${zfs_storage}/syncthing";
|
storage_syncthing = "${zfs_storage}/syncthing";
|
||||||
|
storage_photos = "${zfs_storage}/photos";
|
||||||
# torrenting
|
# torrenting
|
||||||
torrenting_qbit = "${zfs_torrenting}/qbit";
|
torrenting_qbit = "${zfs_torrenting}/qbit";
|
||||||
torrenting_qbitvpn = "${zfs_torrenting}/qbitvpn";
|
torrenting_qbitvpn = "${zfs_torrenting}/qbitvpn";
|
||||||
|
|||||||
Reference in New Issue
Block a user