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: