From 1a7e59df78efe4e17035e56bf04da3f810d17cb0 Mon Sep 17 00:00:00 2001 From: Max Buz <79866323+xopek-by@users.noreply.github.com> Date: Mon, 27 Jan 2025 22:44:53 +0100 Subject: [PATCH] Immich revork, new compose file. Integration with Portainer --- Docker/immich/.env | 20 ++++---- Docker/immich/README.md | 4 ++ Docker/immich/compose.yaml | 49 ------------------- ...s_test_compose.yml => docker-compose.yaml} | 23 +++------ 4 files changed, 20 insertions(+), 76 deletions(-) delete mode 100644 Docker/immich/compose.yaml rename Docker/immich/{nfs_test_compose.yml => docker-compose.yaml} (83%) diff --git a/Docker/immich/.env b/Docker/immich/.env index 610ce44..9ad3af3 100644 --- a/Docker/immich/.env +++ b/Docker/immich/.env @@ -1,23 +1,21 @@ # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored -UPLOAD_LOCATION=/path/to/media/folder +UPLOAD_LOCATION=./library +# The location where your database files are stored +DB_DATA_LOCATION=./postgres + +# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List +# TZ=Etc/UTC # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release -# Connection secrets for postgres and typesense. You should change these to random passwords -# TYPESENSE_API_KEY=some_random_text -DB_PASSWORD=strong_password +# Connection secret for postgres. You should change it to a random password +# Please use only the characters `A-Za-z0-9`, without special characters or spaces +DB_PASSWORD=postgres # The values below this line do not need to be changed ################################################################################### -DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich - -REDIS_HOSTNAME=immich_redis - -# Uncomment and change, if you need to use Immich with proxy -# IMMICH_WEB_URLL= -# IMMICH_SERVER_URL= \ No newline at end of file diff --git a/Docker/immich/README.md b/Docker/immich/README.md index 0cb28a3..ea325a7 100644 --- a/Docker/immich/README.md +++ b/Docker/immich/README.md @@ -1,3 +1,7 @@ +!!! ATTENTION !!! +The docker-compose.yaml that is present here is redesigned so that it can be used in Portainer. +If you want to run it from the docker compose command line, just replace stack.env with .env + Sometimes Immich may return error 500 after startup. It helps to stop all containers and then start them in that order: 1. immich_postgres, immich_redis, immich_typesense 2. Here you need to wait 3-5 minutes to be sure, that typesense is running correctly diff --git a/Docker/immich/compose.yaml b/Docker/immich/compose.yaml deleted file mode 100644 index 75cc47a..0000000 --- a/Docker/immich/compose.yaml +++ /dev/null @@ -1,49 +0,0 @@ -version: "3.8" - -services: - immich-server: - container_name: immich_server - image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} - volumes: - - ${UPLOAD_LOCATION}:/usr/src/app/upload - env_file: - - stack.env - ports: - - 2283:3001 - depends_on: - - redis - - database - restart: unless-stopped - - immich-machine-learning: - container_name: immich_machine_learning - image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} - volumes: - - model-cache:/cache - env_file: - - stack.env - restart: unless-stopped - - redis: - container_name: immich_redis - image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 - restart: unless-stopped - - database: - container_name: immich_postgres - image: tensorchord/pgvecto-rs:pg14-v0.1.11 - env_file: - - stack.env - environment: - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_USER: ${DB_USERNAME} - POSTGRES_DB: ${DB_DATABASE_NAME} - volumes: - - pgdata:/var/lib/postgresql/data - restart: unless-stopped - - -volumes: - pgdata: - model-cache: - tsdata: \ No newline at end of file diff --git a/Docker/immich/nfs_test_compose.yml b/Docker/immich/docker-compose.yaml similarity index 83% rename from Docker/immich/nfs_test_compose.yml rename to Docker/immich/docker-compose.yaml index f541c93..8ed1db4 100644 --- a/Docker/immich/nfs_test_compose.yml +++ b/Docker/immich/docker-compose.yaml @@ -1,10 +1,13 @@ +# # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. +# name: immich + services: immich-server: container_name: immich_server @@ -13,8 +16,8 @@ services: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding volumes: - # Do not edit the next line. nfs-upload declared in the volumes section as an NFS share - - nfs-upload:/usr/src/app/upload + # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file + - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - stack.env @@ -59,8 +62,8 @@ services: POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - # Do not edit the next line. nfs-pgdata declared in the volumes section as an NFS share - - nfs-pgdata:/var/lib/postgresql/data + # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data healthcheck: test: >- pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1; @@ -83,15 +86,3 @@ services: volumes: model-cache: - nfs-upload: - driver: local - driver_opts: - type: "nfs" - o: "addr=${NFS_SERVER},rw,nfsvers=4" - device: ":${NFS_SHARE_UPLOAD}" - nfs-pgdata: - driver: local - driver_opts: - type: "nfs" - o: "addr=${NFS_SERVER},rw,nfsvers=4" - device: ":${NFS_SHARE_PGDATA}"