diff --git a/immich/docker-compose.yml b/immich/docker-compose.yml new file mode 100644 index 0000000..7966e8f --- /dev/null +++ b/immich/docker-compose.yml @@ -0,0 +1,92 @@ +services: + immich_db: + container_name: immich_db + image: ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1@sha256:6d942cbad4043b4eb0d316612c5b108e47c525bb69c5d1fb00b981be5a021a85 + restart: unless-stopped + shm_size: 128mb + environment: + - POSTGRES_DB=${DB_DATABASE_NAME} + - POSTGRES_USER=${DB_USERNAME} + - POSTGRES_PASSWORD=${DB_PASSWORD} + - POSTGRES_INITDB_ARGS='--data-checksums' + - PGDATA=/var/lib/postgresql/18/docker + volumes: + - ${DB_PATH}:/var/lib/postgresql + networks: + - backend + healthcheck: + test: ["CMD-SHELL", "pg_isready -d ${DB_DATABASE_NAME} -U ${DB_USERNAME}"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 10s + + immich_valkey: + container_name: immich_valkey + image: ghcr.io/valkey-io/valkey:9.0.1@sha256:546304417feac0874c3dd576e0952c6bb8f06bb4093ea0c9ca303c73cf458f63 + restart: unless-stopped + networks: + - backend + healthcheck: + test: ["CMD-SHELL", "valkey-cli ping | grep PONG"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 10s + + immich_server: + container_name: immich_server + image: ghcr.io/immich-app/immich-server:v2.4.1@sha256:e6a6298e67ae077808fdb7d8d5565955f60b0708191576143fc02d30ab1389d1 + restart: unless-stopped + depends_on: + immich_db: + condition: service_healthy + immich_valkey: + condition: service_healthy + # env_file: + # - .env + environment: + - DB_DATABASE_NAME=${DB_DATABASE_NAME} + - DB_USERNAME=${DB_USERNAME} + - DB_PASSWORD=${DB_PASSWORD} + - DB_HOSTNAME=${DB_HOSTNAME} + - REDIS_HOSTNAME=${REDIS_HOSTNAME} + volumes: + - ${UPLOAD_LOCATION}:/data + - /etc/localtime:/etc/localtime:ro + # - ${PHOTOS_PATH_1}:/usr/src/app/external/${USER_1}/photos:ro + # - ${VIDEOS_PATH_1}:/usr/src/app/external/${USER_1}/videos:ro + # - ${PHOTOS_PATH_2}:/usr/src/app/external/${USER_2}/photos:ro + # - ${VIDEOS_PATH_2}:/usr/src/app/external/${USER_2}/videos:ro + ports: + - ${WebGUI_PORT}:2283 + networks: + - frontend + - backend + healthcheck: + disable: false + + immich_machine_learning: + container_name: immich_machine_learning + image: ghcr.io/immich-app/immich-machine-learning:v2.4.1@sha256:b3deefd1826f113824e9d7bc30d905e7f823535887d03f869330946b6db3b44a + restart: unless-stopped + # env_file: + # - .env + environment: + - DB_DATABASE_NAME=${DB_DATABASE_NAME} + - DB_USERNAME=${DB_USERNAME} + - DB_PASSWORD=${DB_PASSWORD} + - DB_HOSTNAME=${DB_HOSTNAME} + - REDIS_HOSTNAME=${REDIS_HOSTNAME} + volumes: + - ${CACHE_PATH}:/cache + networks: + - backend + healthcheck: + disable: false + +networks: + frontend: + external: true + backend: + external: true