# # WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose # services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} volumes: - ${UPLOAD_LOCATION}:/data - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - "2283:2283" depends_on: - redis - database restart: always healthcheck: disable: false networks: - default - traefik-public labels: - "traefik.enable=true" - "traefik.http.routers.immich.rule=Host(`photos.jeffemmett.com`)" - "traefik.http.routers.immich.entrypoints=web" - "traefik.http.services.immich.loadbalancer.server.port=2283" - "traefik.docker.network=traefik-public" immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache:/cache env_file: - .env restart: always healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa healthcheck: test: redis-cli ping || exit 1 restart: always database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: "--data-checksums" volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data shm_size: 128mb restart: always power-tools: container_name: immich_power_tools image: ghcr.io/varun-raj/immich-power-tools:latest ports: - "8001:3000" environment: - IMMICH_URL=http://immich-server:2283 - IMMICH_API_KEY=${IMMICH_API_KEY} - DB_HOST=database - DB_PORT=5432 - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_DATABASE_NAME=${DB_DATABASE_NAME} - HOSTNAME=0.0.0.0 depends_on: - immich-server - database restart: always networks: - default - traefik-public labels: - "traefik.enable=true" - "traefik.http.routers.immich-tools.rule=Host(`photos-tools.jeffemmett.com`)" - "traefik.http.routers.immich-tools.entrypoints=web" - "traefik.http.services.immich-tools.loadbalancer.server.port=3000" - "traefik.docker.network=traefik-public" heatmap: container_name: immich_heatmap build: ./heatmap-app environment: - IMMICH_URL=http://immich-server:2283 - IMMICH_PUBLIC_URL=https://photos.jeffemmett.com depends_on: - immich-server restart: always networks: - default - traefik-public labels: - "traefik.enable=true" - "traefik.http.routers.immich-heatmap.rule=Host(`heatmap.jeffemmett.com`)" - "traefik.http.routers.immich-heatmap.entrypoints=web" - "traefik.http.services.immich-heatmap.loadbalancer.server.port=3000" - "traefik.docker.network=traefik-public" volumes: model-cache: networks: traefik-public: external: true