Add immich service
This commit is contained in:
@ -17,6 +17,7 @@
|
|||||||
./services/gitea.nix
|
./services/gitea.nix
|
||||||
./services/gitea-runner.nix
|
./services/gitea-runner.nix
|
||||||
./services/homepage.nix
|
./services/homepage.nix
|
||||||
|
./services/immich.nix
|
||||||
./services/nextcloud.nix
|
./services/nextcloud.nix
|
||||||
./services/nginx-proxy-manager.nix
|
./services/nginx-proxy-manager.nix
|
||||||
./services/pihole.nix
|
./services/pihole.nix
|
||||||
@ -25,7 +26,7 @@
|
|||||||
./services/whats-up-docker.nix
|
./services/whats-up-docker.nix
|
||||||
./services/wireguard-vps.nix
|
./services/wireguard-vps.nix
|
||||||
|
|
||||||
# Multimedia
|
# MultimediArr
|
||||||
./services/bazarr.nix
|
./services/bazarr.nix
|
||||||
./services/fileflows.nix
|
./services/fileflows.nix
|
||||||
./services/jellyfin.nix
|
./services/jellyfin.nix
|
||||||
|
|||||||
191
ServeNix/services/immich.nix
Normal file
191
ServeNix/services/immich.nix
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
virtualisation.oci-containers.containers.immich-server = {
|
||||||
|
image = "ghcr.io/immich-app/immich-server:release";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [
|
||||||
|
"immich-redis"
|
||||||
|
"immich-database"
|
||||||
|
"immich-typesense"
|
||||||
|
];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"immich-server_data:/usr/src/app/upload"
|
||||||
|
|
||||||
|
"/etc/localtime:/etc/localtime:ro"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
# command: [ "start.sh", "immich" ]
|
||||||
|
entrypoint = "start.sh";
|
||||||
|
cmd = [ "immich" ];
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-microservices = {
|
||||||
|
image = "ghcr.io/immich-app/immich-server:release";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
# extends:
|
||||||
|
# file: hwaccel.yml
|
||||||
|
# service: hwaccel
|
||||||
|
|
||||||
|
dependsOn = [
|
||||||
|
"immich-redis"
|
||||||
|
"immich-database"
|
||||||
|
"immich-typesense"
|
||||||
|
];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"immich-server_data:/usr/src/app/upload"
|
||||||
|
|
||||||
|
"/etc/localtime:/etc/localtime:ro"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
# command: [ "start.sh", "microservices" ]
|
||||||
|
entrypoint = "start.sh";
|
||||||
|
cmd = [ "microservices" ];
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-machine-learning = {
|
||||||
|
image = "ghcr.io/immich-app/immich-machine-learning:release";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"model-cache:/cache"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-web = {
|
||||||
|
image = "ghcr.io/immich-app/immich-web:release";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-typesense = {
|
||||||
|
image = "typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"immich-typesense_data:/data"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
TYPESENSE_API_KEY = "public-fucking-random-api-key";
|
||||||
|
TYPESENSE_DATA_DIR = "/data";
|
||||||
|
|
||||||
|
# Remove this to get debug messages
|
||||||
|
GLOG_minloglevel = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-redis = {
|
||||||
|
image = "redis:6.2-alpine@sha256:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-database = {
|
||||||
|
image = "postgres:14-alpine@sha256:874f566dd512d79cf74f59754833e869ae76ece96716d153b0fa3e64aec88d92";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [];
|
||||||
|
|
||||||
|
ports = [];
|
||||||
|
|
||||||
|
volumes = [
|
||||||
|
"immich-database_data:/var/lib/postgresql/data"
|
||||||
|
];
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
POSTGRES_PASSWORD = "immich";
|
||||||
|
POSTGRES_USER = "immich";
|
||||||
|
POSTGRES_DB = "immich";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.oci-containers.containers.immich-proxy = {
|
||||||
|
image = "ghcr.io/immich-app/immich-proxy:release";
|
||||||
|
autoStart = true;
|
||||||
|
|
||||||
|
dependsOn = [
|
||||||
|
"immich-server"
|
||||||
|
"immich-web"
|
||||||
|
];
|
||||||
|
|
||||||
|
ports = [
|
||||||
|
"2283:8080"
|
||||||
|
];
|
||||||
|
|
||||||
|
volumes = [];
|
||||||
|
|
||||||
|
environment = {};
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--net=behind-nginx"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user