115 lines
3.6 KiB
YAML
115 lines
3.6 KiB
YAML
version: "3.7"
|
|
|
|
services:
|
|
|
|
immich:
|
|
container_name: immich
|
|
image: altran1502/immich-server:v1.93.3
|
|
command: ["start-server.sh"]
|
|
volumes:
|
|
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DB_HOSTNAME=immich-db
|
|
- DB_USERNAME=tipi
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- ENABLE_MAPBOX=false
|
|
- DB_DATABASE_NAME=immich
|
|
- REDIS_HOSTNAME=immich-redis
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
depends_on:
|
|
- immich-redis
|
|
- immich-db
|
|
ports:
|
|
- ${APP_PORT}:3001
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
labels:
|
|
# Main
|
|
traefik.enable: true
|
|
traefik.http.middlewares.immich-web-redirect.redirectscheme.scheme: https
|
|
traefik.http.services.immich.loadbalancer.server.port: 3001
|
|
# Web
|
|
traefik.http.routers.immich-insecure.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.immich-insecure.entrypoints: web
|
|
traefik.http.routers.immich-insecure.service: immich
|
|
traefik.http.routers.immich-insecure.middlewares: immich-web-redirect
|
|
# Websecure
|
|
traefik.http.routers.immich.rule: Host(`${APP_DOMAIN}`)
|
|
traefik.http.routers.immich.entrypoints: websecure
|
|
traefik.http.routers.immich.service: immich
|
|
traefik.http.routers.immich.tls.certresolver: myresolver
|
|
# Local domain
|
|
traefik.http.routers.immich-local-insecure.rule: Host(`immich.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.immich-local-insecure.entrypoints: web
|
|
traefik.http.routers.immich-local-insecure.service: immich
|
|
traefik.http.routers.immich-local-insecure.middlewares: immich-web-redirect
|
|
# Local domain secure
|
|
traefik.http.routers.immich-local.rule: Host(`immich.${LOCAL_DOMAIN}`)
|
|
traefik.http.routers.immich-local.entrypoints: websecure
|
|
traefik.http.routers.immich-local.service: immich
|
|
traefik.http.routers.immich-local.tls: true
|
|
|
|
immich-microservices:
|
|
container_name: immich-microservices
|
|
image: altran1502/immich-server:v1.93.3
|
|
command: ["start-microservices.sh"]
|
|
volumes:
|
|
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DB_HOSTNAME=immich-db
|
|
- DB_USERNAME=tipi
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- DB_DATABASE_NAME=immich
|
|
- REDIS_HOSTNAME=immich-redis
|
|
- JWT_SECRET=${JWT_SECRET}
|
|
- ENABLE_MAPBOX=false
|
|
depends_on:
|
|
- immich-redis
|
|
- immich-db
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
|
|
immich-machine-learning:
|
|
container_name: immich-machine-learning
|
|
image: altran1502/immich-machine-learning:v1.93.3
|
|
volumes:
|
|
- ${ROOT_FOLDER_HOST}/media/data/images/immich:/usr/src/app/upload
|
|
- ${APP_DATA_DIR}/data/immich-ml-cache:/cache
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DB_HOSTNAME=immich-db
|
|
- DB_USERNAME=tipi
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- DB_NAME=immich
|
|
- DB_DATABASE_NAME=immich
|
|
depends_on:
|
|
- immich-db
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
|
|
immich-redis:
|
|
container_name: immich-redis
|
|
image: redis:6.2
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|
|
|
|
immich-db:
|
|
container_name: immich-db
|
|
image: tensorchord/pgvecto-rs:pg14-v0.1.11
|
|
environment:
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
POSTGRES_USER: tipi
|
|
POSTGRES_DB: immich
|
|
PG_DATA: /var/lib/postgresql/data
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
networks:
|
|
- tipi_main_network
|