Last active
July 1, 2025 06:09
-
-
Save lzcapp/ec03f0ce2f8d1de2796e1c0a36203223 to your computer and use it in GitHub Desktop.
immich.docker-compose.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # | |
| # WARNING: Make sure to use the docker-compose.yml of the current release: | |
| # | |
| # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml | |
| # | |
| # The compose file on main may not be compatible with the latest release. | |
| # | |
| name: immich | |
| services: | |
| immich-server: | |
| container_name: immich_server | |
| image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} | |
| extends: | |
| file: hwaccel.transcoding.yml | |
| service: nvenc # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding | |
| volumes: | |
| # 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 | |
| - ${UPLOAD_LOCATION}:/usr/src/app/upload | |
| - "F:/DCIM:/usr/src/app/external" | |
| - /etc/localtime:/etc/localtime:ro | |
| env_file: | |
| - .env | |
| ports: | |
| - '2283:2283' | |
| depends_on: | |
| - redis | |
| - database | |
| restart: always | |
| healthcheck: | |
| disable: false | |
| immich-machine-learning: | |
| container_name: immich_machine_learning | |
| # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. | |
| # Example tag: ${IMMICH_VERSION:-release}-cuda | |
| image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}-cuda | |
| extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration | |
| file: hwaccel.ml.yml | |
| service: cuda # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable | |
| volumes: | |
| - model-cache:/cache | |
| env_file: | |
| - .env | |
| restart: always | |
| healthcheck: | |
| disable: false | |
| redis: | |
| container_name: immich_redis | |
| image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177 | |
| 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:5f6a838e4e44c8e0e019d0ebfe3ee8952b69afc2809b2c25f7b0119641978e91 | |
| environment: | |
| POSTGRES_PASSWORD: ${DB_PASSWORD} | |
| POSTGRES_USER: ${DB_USERNAME} | |
| POSTGRES_DB: ${DB_DATABASE_NAME} | |
| POSTGRES_INITDB_ARGS: '--data-checksums' | |
| volumes: | |
| # 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 | |
| - ${DB_DATA_LOCATION}:/var/lib/postgresql/data | |
| healthcheck: | |
| test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --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 | |
| restart: always | |
| volumes: | |
| model-cache: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment