dc-immich/docker-compose.yml

121 lines
3.1 KiB
YAML

version: "3.8"
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:v1.84.0@sha256:3440f320004fe32a95d6dd7b6359de6a352218b931103ad70d8f73088aae255d
command: ["start.sh", "immich"]
volumes:
- library:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always
networks:
- immich
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:v1.84.0@sha256:3440f320004fe32a95d6dd7b6359de6a352218b931103ad70d8f73088aae255d
command: ["start.sh", "microservices"]
volumes:
- library:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- stack.env
depends_on:
- redis
- database
- typesense
restart: always
networks:
- immich
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:v1.84.0@sha256:3ca2825ccfe44eacc8c856e1cf66bdf6f7354b752d8bbebee91f2f64b79c5675
volumes:
- model-cache:/cache
env_file:
- stack.env
restart: always
networks:
- immich
immich-web:
container_name: immich_web
image: ghcr.io/immich-app/immich-web:v1.84.0@sha256:cd199bc511516cf4af3e6b2ae83a4ad1abd852464cfb29cda21759601c5ba15c
env_file:
- stack.env
restart: always
networks:
- immich
typesense:
container_name: immich_typesense
image: typesense/typesense:0.25.1@sha256:035ccfbc3fd8fb9085ea205fdcb62de63eaefdbebd710e88e57f978a30f2090d
environment:
- TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
- TYPESENSE_DATA_DIR=/data
# remove this to get debug messages
- GLOG_minloglevel=1
volumes:
- tsdata:/data
restart: always
networks:
- immich
redis:
container_name: immich_redis
image: redis:6.2-alpine@sha256:452b7655bda0e270a6376b71d22fcb30662e745dcb4728f99fa87f01287b465d
restart: always
networks:
- immich
database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:874f566dd512d79cf74f59754833e869ae76ece96716d153b0fa3e64aec88d92
env_file:
- stack.env
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
- pgdata:/var/lib/postgresql/data
restart: always
networks:
- immich
immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:v1.84.0@sha256:277290787ca1ffca88b51088a581ed0a9c344ccb650ef435469c602d10d67b7e
environment:
# Make sure these values get passed through from the env file
- IMMICH_SERVER_URL
- IMMICH_WEB_URL
- LETSENCRYPT_HOST=${IMMICH_HOST:?}
- VIRTUAL_HOST=${IMMICH_HOST:?}
- VIRTUAL_PORT=${IMMICH_PORT:-8080}
depends_on:
- immich-server
- immich-web
restart: always
networks:
- net
- immich
volumes:
pgdata:
model-cache:
tsdata:
library:
networks:
net:
external: true
immich: