Files
docker-compose-nas/immich/docker-compose.yml
2025-10-14 15:52:15 -04:00

73 lines
2.2 KiB
YAML

services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
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}:/data
- /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:release
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/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:41eacbe83eca995561fe43814fd4891e16e39632806253848efaf04d3c8a8b84
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
shm_size: 128mb
restart: always
profiles:
- immich
volumes:
immich-model-cache: