Files
2025-08-03 19:00:42 +02:00

71 lines
2.5 KiB
YAML

services:
immich-server:
extends:
file: ${TEMPLATES_PATH}
service: default
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
environment:
DB_PASSWORD: ${IMMICH_DB_PASSWORD}
DB_HOSTNAME: postgres-with-pg-vector
DB_USERNAME: immich
DB_DATABASE_NAME: immich
REDIS_HOSTNAME: redis
volumes:
# to mount the trueNas external library: sudo mount 192.168.178.36:/mnt/hdd-storage/vm-external-storage/immich /mnt/external-storage/immich/
- ${IMMICH_EXTERNAL_PATH}:/usr/src/app/external:ro
- ${MEDIA_PATH}/immich/data/library:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
ports:
- 2283:3001
networks:
- ip6net
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.immich-server.rule=Host(`immich.${PUBLIC_DOMAIN}`)"
- "traefik.http.routers.immich-server.entrypoints=https"
- "traefik.http.routers.immich-server.tls.certresolver=myresolver"
- 'traefik.http.routers.immich-server.tls=true'
# Middlewares
- "traefik.http.routers.immich-server.middlewares=crowdsec-bouncer@file"
immich-machine-learning:
extends:
file: ${TEMPLATES_PATH}
service: default
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
ports:
- 3003:3003
volumes:
- ${MEDIA_PATH}/immich/data/model-cache:/cache
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# https://github.com/Salvoxia/immich-folder-album-creator
# one time run:
# docker run -e -e API_URL="https://immich.crescentec.xyz/api/" -e API_KEY="qTaebdVMtph9yD0pSJRJDQJkDEpexiXNMJ5V5HBEnA" -e ROOT_PATH="/usr/src/app/external" -e LOG_LEVEL="DEBUG" salvoxia/immich-folder-album-creator:latest /script/immich_auto_album.sh
immich-folder-album-creator:
extends:
file: ${TEMPLATES_PATH}
service: default
container_name: immich_folder_album_creator
image: salvoxia/immich-folder-album-creator:latest
environment:
API_URL: https://immich.crescentec.xyz/api
API_KEY: qTaebdVMtph9yD0pSJRJDQJkDEpexiXNMJ5V5HBEnA
ROOT_PATH: /usr/src/app/external
CRON_EXPRESSION: "0 * * * *"
LOG_LEVEL: DEBUG
#RUN_IMMEDIATELY: true
#UNATTENDED: 1
volumes:
- /usr/src/app/external:/usr/src/app/external
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"