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.87.0@sha256:f260c047e105a8851ee35057a234f5d98ea7e188fa2e666e6cc280d100a8a772
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.87.0@sha256:f260c047e105a8851ee35057a234f5d98ea7e188fa2e666e6cc280d100a8a772
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.87.0@sha256:9413adc9a2b9a761031b77ce1bfb479aaef3dc46ec57990c5b5646a9e7f853d5
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.87.0@sha256:2bef28adbcc60a2ee5dee8cafe109e3d5c6b7bca88d90acdd3eec376200a6d6e
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:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5
restart: always
networks:
- immich
database:
container_name: immich_postgres
image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad
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.87.0@sha256:9b60f2a6c9492306d4a2d182ac9274de6d9df6e6680ca7d55c8fd8348adcdaa6
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: