From f5904c9b2dcf115e9521021cac8d83f279991560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Krop=C3=A1=C4=8Dek?= Date: Thu, 4 Apr 2024 00:47:19 +0200 Subject: [PATCH] added immich as alternative to photoprism --- inventory.py | 2 +- services/immich/.env.example | 9 ++++ services/immich/docker-compose.yml | 68 ++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 services/immich/.env.example create mode 100644 services/immich/docker-compose.yml diff --git a/inventory.py b/inventory.py index b3f9d19..1d09884 100644 --- a/inventory.py +++ b/inventory.py @@ -15,7 +15,7 @@ servers = [ "ssh_user": "root", "web_server": True, "services": [ - "nginx", "photoprism", "nodered" + "nginx", "immich", "nodered" ] } ) diff --git a/services/immich/.env.example b/services/immich/.env.example new file mode 100644 index 0000000..90db243 --- /dev/null +++ b/services/immich/.env.example @@ -0,0 +1,9 @@ +UPLOAD_LOCATION= + +DB_PASSWORD= +DB_HOSTNAME=database +DB_USERNAME= +DB_DATABASE_NAME= + +REDIS_HOSTNAME= +HOST= \ No newline at end of file diff --git a/services/immich/docker-compose.yml b/services/immich/docker-compose.yml new file mode 100644 index 0000000..71cff96 --- /dev/null +++ b/services/immich/docker-compose.yml @@ -0,0 +1,68 @@ +volumes: + database-data: + name: database-data + model-cache-data: + name: model-cache-data + +networks: + traefik-net: + external: true + name: traefik-net + +x-traefik: &x-traefiK + networks: + - traefik-net + - default + +services: + immich-server: + image: ghcr.io/immich-app/immich-server:release + command: [ 'start.sh', 'immich' ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + <<: *x-traefiK + depends_on: + - redis + - database + deploy: + labels: + - traefik.enable=true + - traefik.docker.network=traefik-net + - traefik.http.routers.immich.rule=Host(`${HOST}`) + - traefik.http.routers.immich.entrypoints=${ENTRYPOINTS:-websecure} + - traefik.http.routers.immich.tls.certresolver=le + - traefik.http.services.immich.loadbalancer.server.port=3001 + + immich-microservices: + image: ghcr.io/immich-app/immich-server:release + command: [ 'start.sh', 'microservices' ] + volumes: + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /etc/localtime:/etc/localtime:ro + env_file: + - .env + depends_on: + - redis + - database + + immich-machine-learning: + image: ghcr.io/immich-app/immich-machine-learning:release + volumes: + - model-cache-data:/cache + env_file: + - .env + + redis: + image: redis:6.2-alpine + + database: + image: tensorchord/pgvecto-rs:pg14-v0.2.0 + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + volumes: + - database-data:/var/lib/postgresql/data \ No newline at end of file