mirror of
https://github.com/AdrienPoupa/docker-compose-nas.git
synced 2025-05-29 21:48:01 +02:00
80 lines
2.7 KiB
YAML
80 lines
2.7 KiB
YAML
services:
|
|
immich-server:
|
|
container_name: immich_server
|
|
image: ghcr.io/immich-app/immich-server:v1.132.3
|
|
environment:
|
|
DB_HOSTNAME: immich_postgres
|
|
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
|
|
DB_USERNAME: postgres
|
|
DB_DATABASE_NAME: immich
|
|
REDIS_HOSTNAME: immich_redis
|
|
volumes:
|
|
- ${IMMICH_UPLOAD_LOCATION}:/usr/src/app/upload
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ${CONFIG_ROOT:-.}/immich/healthcheck:/healthcheck
|
|
depends_on:
|
|
- immich-redis
|
|
- immich-database
|
|
restart: always
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.immich.rule=(Host(`${IMMICH_HOSTNAME}`))
|
|
- traefik.http.routers.immich.tls=true
|
|
- traefik.http.routers.immich.tls.certresolver=myresolver
|
|
- traefik.http.services.immich.loadbalancer.server.port=2283
|
|
- homepage.group=Apps
|
|
- homepage.name=Immich
|
|
- homepage.icon=immich.png
|
|
- homepage.href=https://${IMMICH_HOSTNAME}
|
|
- homepage.description=Self-hosted photo and video management solution
|
|
- homepage.weight=4
|
|
- homepage.widget.type=immich
|
|
- homepage.widget.url=http://immich-server:2283
|
|
- homepage.widget.key=${IMMICH_API_KEY}
|
|
- homepage.widget.version=2
|
|
profiles:
|
|
- immich
|
|
|
|
immich-machine-learning:
|
|
container_name: immich_machine_learning
|
|
image: ghcr.io/immich-app/immich-machine-learning:v1.132.3
|
|
volumes:
|
|
- immich-model-cache:/cache
|
|
restart: always
|
|
profiles:
|
|
- immich
|
|
|
|
immich-redis:
|
|
container_name: immich_redis
|
|
image: public.ecr.aws/docker/library/redis:6.2
|
|
restart: always
|
|
healthcheck:
|
|
test: redis-cli ping || exit 1
|
|
profiles:
|
|
- immich
|
|
|
|
immich-database:
|
|
container_name: immich_postgres
|
|
image: ghcr.io/tensorchord/pgvecto-rs:pg14-v0.2.0
|
|
environment:
|
|
POSTGRES_PASSWORD: ${IMMICH_DB_PASSWORD}
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_DB: immich
|
|
POSTGRES_INITDB_ARGS: "--data-checksums"
|
|
volumes:
|
|
- ${CONFIG_ROOT:-.}/immich/postgresql:/var/lib/postgresql/data
|
|
restart: always
|
|
healthcheck:
|
|
test: >-
|
|
pg_isready --dbname=immich --username=postgres || exit 1; Chksum="$$(psql --dbname=immich --username=postgres --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
|
|
profiles:
|
|
- immich
|
|
|
|
volumes:
|
|
immich-model-cache:
|