82 lines
2.4 KiB
Text
82 lines
2.4 KiB
Text
![]() |
---
|
||
|
name: immich
|
||
|
|
||
|
services:
|
||
|
immich-server:
|
||
|
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||
|
container_name: immich_server
|
||
|
networks:
|
||
|
- traefik
|
||
|
- immich
|
||
|
# extends:
|
||
|
# file: hwaccel.transcoding.yml
|
||
|
# service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
|
||
|
volumes:
|
||
|
- ./data/library:/usr/src/app/upload
|
||
|
- /etc/localtime:/etc/localtime:ro
|
||
|
env_file:
|
||
|
- .env
|
||
|
labels:
|
||
|
- "traefik.enable=true"
|
||
|
- "traefik.docker.network=traefik"
|
||
|
- "traefik.http.routers.immich.entrypoints=http"
|
||
|
- "traefik.http.routers.immich.rule=Host(`${IMMICH_DOMAIN}`)"
|
||
|
- "traefik.http.middlewares.immich-https-redirect.redirectscheme.scheme=https"
|
||
|
- "traefik.http.routers.immich.middlewares=immich-https-redirect"
|
||
|
- "traefik.http.routers.immich-secure.entrypoints=https"
|
||
|
- "traefik.http.routers.immich-secure.rule=Host(`${IMMICH_DOMAIN}`)"
|
||
|
- "traefik.http.routers.immich-secure.tls=true"
|
||
|
- "traefik.http.routers.immich-secure.service=immich"
|
||
|
- "traefik.http.services.immich.loadbalancer.server.port=2283"
|
||
|
depends_on:
|
||
|
- redis
|
||
|
- database
|
||
|
restart: always
|
||
|
healthcheck:
|
||
|
disable: false
|
||
|
|
||
|
immich-machine-learning:
|
||
|
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||
|
container_name: immich_machine_learning
|
||
|
networks:
|
||
|
- immich
|
||
|
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:ff21bc0f8194dc9c105b769aeabf9585fea6a8ed649c0781caeac5cb3c247884
|
||
|
networks:
|
||
|
- immich
|
||
|
healthcheck:
|
||
|
test: redis-cli ping || exit 1
|
||
|
restart: always
|
||
|
|
||
|
database:
|
||
|
container_name: immich_postgres
|
||
|
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0@sha256:fa4f6e0971f454cd95fec5a9aaed2ed93d8f46725cc6bc61e0698e97dba96da1
|
||
|
networks:
|
||
|
- immich
|
||
|
environment:
|
||
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||
|
POSTGRES_USER: ${DB_USERNAME}
|
||
|
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||
|
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||
|
DB_STORAGE_TYPE: 'HDD'
|
||
|
volumes:
|
||
|
- ./data/postgres:/var/lib/postgresql/data
|
||
|
restart: always
|
||
|
|
||
|
networks:
|
||
|
immich:
|
||
|
driver: bridge
|
||
|
traefik:
|
||
|
external: true
|
||
|
|
||
|
volumes:
|
||
|
model-cache:
|