forked from coollabsio/coolify
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request coollabsio#3446 from OG-Jons/main
feat: add immich service
- Loading branch information
Showing
2 changed files
with
164 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# documentation: https://immich.app/docs/overview/introduction | ||
# slogan: Self-hosted photo and video management solution. | ||
# tags: photo,video,management,server,cloud,storage,sharing,metadata,face,recognition | ||
# logo: svgs/immich.svg | ||
# port: 2283 | ||
|
||
name: immich | ||
|
||
services: | ||
immich: | ||
container_name: immich_server | ||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} | ||
# extends: | ||
# file: hwaccel.transcoding.yml | ||
# service: cpu # 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 | ||
- /etc/localtime:/etc/localtime:ro | ||
environment: | ||
- SERVICE_FQDN_IMMICH_3001 | ||
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables | ||
# Hardcoded values, not editable in Coolify UI | ||
- UPLOAD_LOCATION=./library # The location where your uploaded files are stored | ||
- DB_DATA_LOCATION=./postgres # The location where your database files are stored | ||
|
||
- IMMICH_VERSION=${IMMICH_VERSION:-release} # The Immich version to use, editable in Coolify | ||
|
||
# Default values, editable in Coolify UI | ||
- DB_PASSWORD=$SERVICE_PASSWORD_DATABASE # Default: "postgres", can be overridden | ||
- DB_USERNAME=$SERVICE_USER_DATABASE # Default: "postgres", can be overridden | ||
- DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich} # Default: "immich", can be overridden | ||
|
||
- TZ=${TZ:-Etc/UTC} | ||
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} | ||
# extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration | ||
# file: hwaccel.ml.yml | ||
# service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable | ||
volumes: | ||
- model-cache:/cache | ||
environment: | ||
# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables | ||
|
||
# Hardcoded values, not editable in Coolify UI | ||
- UPLOAD_LOCATION=./library # The location where your uploaded files are stored | ||
- DB_DATA_LOCATION=./postgres # The location where your database files are stored | ||
|
||
- IMMICH_VERSION=${IMMICH_VERSION:-release} # The Immich version to use, editable in Coolify | ||
|
||
# Default values, editable in Coolify UI | ||
- DB_PASSWORD=$SERVICE_PASSWORD_DATABASE # Default: "postgres", can be overridden | ||
- DB_USERNAME=$SERVICE_USER_DATABASE # Default: "postgres", can be overridden | ||
- DB_DATABASE_NAME=${DB_DATABASE_NAME:-immich} # Default: "immich", can be overridden | ||
|
||
- TZ=${TZ:-Etc/UTC} | ||
restart: always | ||
healthcheck: | ||
disable: false | ||
|
||
redis: | ||
container_name: immich_redis | ||
image: docker.io/redis:6.2-alpine@sha256:2d1463258f2764328496376f5d965f20c6a67f66ea2b06dc42af351f75248792 | ||
healthcheck: | ||
test: redis-cli ping || exit 1 | ||
restart: always | ||
|
||
database: | ||
container_name: immich_postgres | ||
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 | ||
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 | ||
command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"] | ||
restart: always | ||
|
||
volumes: | ||
model-cache: |