Files
docker-compose/immich/docker-compose.yml
2025-04-14 17:18:38 +02:00

89 lines
2.8 KiB
YAML
Executable File

name: immich
services:
database:
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
container_name: immich_postgres
env_file:
- stack.env
environment:
POSTGRES_INITDB_ARGS: --data-checksums
healthcheck:
interval: 5m
start_interval: 30s
start_period: 5m
test: pg_isready --dbname="$${DB_PASSWORD}" --username="$${DB_USERNAME}" ||
exit 1; Chksum="$$(psql --dbname="$${DB_DATABASE_NAME}" --username="$${DB_USERNAME}"
--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
image: ${DOCKER_REGISTRY:-}docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0
labels:
wud.watch: true
wud.watch.digest: true
restart: ${RESTART:-unless-stopped}
volumes:
- /share/docker_data/immich/db:/var/lib/postgresql/data
immich-machine-learning:
container_name: immich_machine_learning
env_file:
- stack.env
extends:
file: hwaccel.ml.yml
service: ${HW_MODE2:-cpu}
healthcheck:
disable: false
image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
labels:
wud.watch: true
wud.watch.digest: true
restart: ${RESTART:-unless-stopped}
volumes:
- model-cache:/cache
immich-server:
container_name: immich_server
depends_on:
- redis
- database
env_file:
- stack.env
extends:
file: hwaccel.transcoding.yml
service: ${HW_MODE1:-cpu}
healthcheck:
disable: false
image: ${DOCKER_REGISTRY:-}ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
labels:
homepage.container: immich_server
homepage.description: Photo server
homepage.group: Media
homepage.href: https://${APPNAME}.sectorq.eu
homepage.icon: ${APPNAME}.png
homepage.name: Immich
homepage.server: my-docker
homepage.widget.key: wVxjlztA8MpeuzKkNGCSUPK2WjAY55qq4cfs9Zr5opU
homepage.widget.type: ${APPNAME}
homepage.widget.url: https://${APPNAME}.sectorq.eu
homepage.widget.version: '2'
wud.watch: true
wud.watch.digest: true
ports:
- 2283:2283
restart: ${RESTART:-unless-stopped}
volumes:
- /share/docker_data/immich/library:/usr/src/app/upload
- /media/nas/nas-photo:/mnt/photos2
- /etc/localtime:/etc/localtime:ro
redis:
container_name: immich_redis
healthcheck:
test: redis-cli ping || exit 1
image: ${DOCKER_REGISTRY:-}docker.io/redis:6.2-alpine
labels:
wud.watch: true
wud.watch.digest: true
restart: ${RESTART:-unless-stopped}
volumes:
model-cache: null