Files
infrastructure/ansible/roles/immich/templates/docker-compose.yml

87 lines
2.0 KiB
YAML

version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:release
restart: unless-stopped
entrypoint: ["/bin/sh", "./start-server.sh"]
volumes:
- "{{ upload_location }}:/usr/src/app/upload"
depends_on:
- redis
- database
- typesense
immich-microservices:
container_name: immich_microservices
image: ghcr.io/immich-app/immich-server:release
restart: unless-stopped
entrypoint: ["/bin/sh", "./start-microservices.sh"]
volumes:
- "{{ upload_location }}:/usr/src/app/upload"
environment:
- NODE_ENV=production
depends_on:
- redis
- database
- typesense
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:release
restart: unless-stopped
volumes:
- "{{ upload_location }}:/usr/src/app/upload"
- model-cache:/cache
environment:
- NODE_ENV=production
immich-web:
container_name: immich-web
image: ghcr.io/immich-app/immich-web:release
restart: unless-stopped
entrypoint: ["/bin/sh", "./entrypoint.sh"]
typesense:
container_name: immich_typesense
image: typesense/typesense:0.24.0
restart: unless-stopped
environment:
- TYPESENSE_API_KEY={{ typesense_api_key }}
- TYPESENSE_DATA_DIR=/data
logging:
driver: none
volumes:
- tsdata:/data
redis:
container_name: immich_redis
image: redis:6.2
restart: unless-stopped
database:
container_name: immich_postgres
image: postgres:14
restart: unless-stopped
environment:
POSTGRES_PASSWORD: immich
POSTGRES_USER: immich
POSTGRES_DB: immich
PG_DATA: /var/lib/postgresql/data
volumes:
- "{{ data_dir }}/postgres/immich:/var/lib/postgresql/data
immich-proxy:
container_name: immich_proxy
image: ghcr.io/immich-app/immich-proxy:release
environment:
volumes:
model-cache:
tsdata: