From 69a18fc8623e39fcbb650d18631c35e91a820339 Mon Sep 17 00:00:00 2001 From: Mikael Hardy Date: Fri, 11 Apr 2025 13:21:27 +0200 Subject: [PATCH] Update on Immich / hoarder et calibre-web --- serenity/calibre-web/docker-compose.yml | 7 +- serenity/hoarder/docker-compose.yml | 3 +- serenity/immich-app/docker-compose.yml | 89 +++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 8 deletions(-) create mode 100644 serenity/immich-app/docker-compose.yml diff --git a/serenity/calibre-web/docker-compose.yml b/serenity/calibre-web/docker-compose.yml index 77e2649..5fd7e24 100644 --- a/serenity/calibre-web/docker-compose.yml +++ b/serenity/calibre-web/docker-compose.yml @@ -12,12 +12,7 @@ services: - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional volumes: - /opt/appdata/calibre-web/config:/config - - /medias/books:/books + - /storage/medias/books:/books ports: - 8083:8083 restart: unless-stopped - networks: - - HomeProxy -networks: - HomeProxy: - external: true diff --git a/serenity/hoarder/docker-compose.yml b/serenity/hoarder/docker-compose.yml index e3a5de9..092efd2 100644 --- a/serenity/hoarder/docker-compose.yml +++ b/serenity/hoarder/docker-compose.yml @@ -1,8 +1,7 @@ -version: "3.8" services: web: image: ghcr.io/hoarder-app/hoarder:${HOARDER_VERSION:-release} - restart: unless-stopped + restart: always volumes: - data:/data ports: diff --git a/serenity/immich-app/docker-compose.yml b/serenity/immich-app/docker-compose.yml new file mode 100644 index 0000000..76142c9 --- /dev/null +++ b/serenity/immich-app/docker-compose.yml @@ -0,0 +1,89 @@ +# +# 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 + image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} + # extends: + # 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. 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: + - .env + ports: + - '2283:2283' + depends_on: + - redis + - database + restart: always + healthcheck: + disable: false + + immich-machine-learning: + container_name: immich_machine_learning + # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. + # Example tag: ${IMMICH_VERSION:-release}-cuda + image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} + # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration + # file: hwaccel.ml.yml + # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable + volumes: + - model-cache:/cache + env_file: + - .env + restart: always + healthcheck: + disable: false + + redis: + container_name: immich_redis + image: docker.io/redis:6.2-alpine@sha256:905c4ee67b8e0aa955331960d2aa745781e6bd89afc44a8584bfd13bc890f0ae + healthcheck: + test: redis-cli ping || exit 1 + restart: always + + database: + container_name: immich_postgres + image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + POSTGRES_INITDB_ARGS: '--data-checksums' + volumes: + # 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; + Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align + --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; + echo "checksum failure count is $$Chksum"; + [ "$$Chksum" = '0' ] || exit 1 + interval: 5m + start_interval: 30s + start_period: 5m + command: >- + postgres + -c shared_preload_libraries=vectors.so + -c 'search_path="$$user", public, vectors' + -c logging_collector=on + -c max_wal_size=2GB + -c shared_buffers=512MB + -c wal_compression=on + restart: always + +volumes: + model-cache: + pgdata: