umbrel-apps/immich/docker-compose.yml

77 lines
2.3 KiB
YAML
Raw Normal View History

version: "3.7"
x-environment: &env
NODE_ENV: "production"
DB_HOSTNAME: "immich_postgres_1"
DB_USERNAME: &db_username "immich"
DB_PASSWORD: &db_password "moneyprintergobrrr"
DB_DATABASE_NAME: &db_database_name "immich"
REDIS_HOSTNAME: "immich_redis_1"
LOG_LEVEL: "log"
JWT_SECRET: ${APP_SEED}
DISABLE_REVERSE_GEOCODING: "false"
REVERSE_GEOCODING_PRECISION: "3"
PUBLIC_LOGIN_PAGE_MESSAGE: ""
IMMICH_MACHINE_LEARNING_URL: "http://immich_machine-learning_1:3003"
services:
app_proxy:
environment:
APP_HOST: immich_server_1
APP_PORT: 3001
PROXY_AUTH_WHITELIST: "/api/*,/search/*"
server:
image: ghcr.io/immich-app/immich-server:v1.94.1@sha256:c7b80752d48464dea1c4495ff810365a0809d89c2ac219547d3c1aed81c6411f
command: [ "start.sh", "immich" ]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
environment:
<<: *env
depends_on:
- redis
- postgres
restart: on-failure
microservices:
image: ghcr.io/immich-app/immich-server:v1.94.1@sha256:c7b80752d48464dea1c4495ff810365a0809d89c2ac219547d3c1aed81c6411f
# This service cannot run under 1000:1000
# And because the uploads are shared
# We'll run immich specific services as root
command: [ "start.sh", "microservices" ]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
environment:
<<: *env
depends_on:
- redis
- postgres
restart: on-failure
machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:v1.94.1@sha256:a3c612c548d5f547a31d001d97f661d7acd4a0ae354de76a70e45162d2b81014
volumes:
- ${APP_DATA_DIR}/data/model-cache:/cache
environment:
<<: *env
restart: on-failure
redis:
image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
user: "1000:1000"
restart: on-failure
volumes:
- ${APP_DATA_DIR}/data/redis:/data
postgres:
image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
user: "1000:1000"
environment:
<<: *env
POSTGRES_PASSWORD: *db_password
POSTGRES_USER: *db_username
POSTGRES_DB: *db_database_name
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
restart: on-failure