{
  "schema_version": 1,
  "generated_at": "2026-10-22T00:00:00.000Z",
  "canonical_url": "https://openlogs.fyi/tools/immich",
  "slug": "immich",
  "name": "immich",
  "tagline": "High performance self-hosted photo and video management solution.",
  "replaces": {
    "summary": null,
    "products": []
  },
  "stack": [
    {
      "kind": "database",
      "name": "postgres"
    }
  ],
  "deployment_methods": [
    "docker_compose"
  ],
  "requirements": {
    "min_ram_mb": null,
    "min_cpu_cores": null,
    "source_url": null
  },
  "license": {
    "spdx": "AGPL-3.0",
    "class": "osi",
    "source_url": "https://github.com/immich-app/immich/blob/745bdd2edf72ce0f75e748e2d68c37b6ea196cc5/LICENSE"
  },
  "business_model": {
    "value": "unknown",
    "notes": "Not checked by the pipeline. Read the project's own pricing or docs page before setting this.",
    "source_url": null,
    "checked_at": null
  },
  "difficulty": {
    "value": "hard",
    "reason": "4 services (2 database or broker: valkey, postgres), 4 volume mounts, 6 env values to set, no elevated host access. Heuristic score 8 of 11: hard."
  },
  "repository": {
    "owner": "immich-app",
    "name": "immich",
    "url": "https://github.com/immich-app/immich"
  },
  "compose_check": {
    "status": "unvalidated",
    "validated_at": null,
    "summary": "not run"
  },
  "recipe": {
    "version": 1,
    "source_path": "docker/docker-compose.yml",
    "source_repo": "immich-app/immich",
    "source_commit_sha": "745bdd2edf72ce0f75e748e2d68c37b6ea196cc5",
    "source_kind": "app_repo",
    "source_url": "https://github.com/immich-app/immich/blob/745bdd2edf72ce0f75e748e2d68c37b6ea196cc5/docker/docker-compose.yml"
  },
  "install_steps": [
    {
      "order": 1,
      "kind": "compose",
      "language": "yaml",
      "label": "Save the compose file as docker-compose.yml",
      "body": "#\n# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose\n#\n# Make sure to use the docker-compose.yml of the current release:\n#\n# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml\n#\n# The compose file on main may not be compatible with the latest release.\n\nname: immich\n\nservices:\n  immich-server:\n    container_name: immich_server\n    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}\n    # extends:\n    #   file: hwaccel.transcoding.yml\n    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding\n    volumes:\n      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file\n      - ${UPLOAD_LOCATION}:/data\n      - /etc/localtime:/etc/localtime:ro\n    env_file:\n      - .env\n    ports:\n      - '2283:2283'\n    depends_on:\n      - redis\n      - database\n    restart: always\n    healthcheck:\n      disable: false\n\n  immich-machine-learning:\n    container_name: immich_machine_learning\n    # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.\n    # Example tag: ${IMMICH_VERSION:-release}-cuda\n    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}\n    # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration\n    #   file: hwaccel.ml.yml\n    #   service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable\n    volumes:\n      - model-cache:/cache\n    env_file:\n      - .env\n    environment:\n      MACHINE_LEARNING_MODEL_REVISION: v2\n    restart: always\n    healthcheck:\n      disable: false\n\n  redis:\n    container_name: immich_redis\n    image: docker.io/valkey/valkey:9@sha256:418652cfb58ef879d4978c33553735d7147016032d5aefaa14c828e611eb9dfd\n    healthcheck:\n      test: redis-cli ping | grep -q PONG || exit 1\n    restart: always\n\n  database:\n    container_name: immich_postgres\n    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23\n    environment:\n      POSTGRES_PASSWORD: ${DB_PASSWORD}\n      POSTGRES_USER: ${DB_USERNAME}\n      POSTGRES_DB: ${DB_DATABASE_NAME}\n      POSTGRES_INITDB_ARGS: '--data-checksums'\n      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs\n      # DB_STORAGE_TYPE: 'HDD'\n    volumes:\n      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file\n      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data\n    shm_size: 128mb\n    restart: always\n    healthcheck:\n      disable: false\n\nvolumes:\n  model-cache:\n",
      "source_url": "https://github.com/immich-app/immich/blob/745bdd2edf72ce0f75e748e2d68c37b6ea196cc5/docker/docker-compose.yml",
      "validation_status": "unvalidated"
    }
  ],
  "notes": [
    {
      "kind": "gotcha",
      "title": "Update",
      "body": "Update",
      "source_url": "https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml",
      "checked_at": "2026-10-22"
    }
  ],
  "signals": {
    "captured_at": "2026-10-22",
    "stars": 116865,
    "forks": 7295,
    "open_issues": 719,
    "last_push": "2026-10-21",
    "days_since_push": 0,
    "latest_release": null,
    "latest_release_date": null,
    "days_since_release": null
  },
  "links": {
    "html": "https://openlogs.fyi/tools/immich",
    "markdown": "https://openlogs.fyi/tools/immich.md",
    "json": "https://openlogs.fyi/tools/immich.json"
  },
  "updated_at": "2026-10-22"
}
