mirror of
https://github.com/getumbrel/umbrel-apps.git
synced 2024-11-13 17:09:17 +00:00
acc169fc17
Co-authored-by: nmfretz <nmfretz@gmail.com>
107 lines
3.3 KiB
YAML
107 lines
3.3 KiB
YAML
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: "simple"
|
|
JWT_SECRET: ${APP_SEED}
|
|
DISABLE_REVERSE_GEOCODING: "false"
|
|
REVERSE_GEOCODING_PRECISION: "3"
|
|
PUBLIC_LOGIN_PAGE_MESSAGE: ""
|
|
TYPESENSE_API_KEY: &typesense_api_key "any-text-for-self-hosted-typesense"
|
|
IMMICH_SERVER_URL: &immich_server_url "http://immich_server_1:3001"
|
|
IMMICH_WEB_URL: &immich_web_url "http://immich_web_1:3000"
|
|
IMMICH_MACHINE_LEARNING_URL: "http://immich_machine-learning_1:3003"
|
|
|
|
services:
|
|
app_proxy:
|
|
environment:
|
|
APP_HOST: immich_proxy_1
|
|
APP_PORT: 8080
|
|
PROXY_AUTH_WHITELIST: "/api/*,/search/*"
|
|
|
|
server:
|
|
image: ghcr.io/immich-app/immich-server:v1.75.2@sha256:ba589a25fbef5267bcaf9350c68998e46b84bfb30b27ca33560013581c1a783b
|
|
command: [ "start.sh", "immich" ]
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
|
|
environment:
|
|
<<: *env
|
|
depends_on:
|
|
- redis
|
|
- postgres
|
|
- typesense
|
|
restart: on-failure
|
|
|
|
microservices:
|
|
image: ghcr.io/immich-app/immich-server:v1.75.2@sha256:ba589a25fbef5267bcaf9350c68998e46b84bfb30b27ca33560013581c1a783b
|
|
# 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
|
|
- typesense
|
|
restart: on-failure
|
|
|
|
machine-learning:
|
|
image: ghcr.io/immich-app/immich-machine-learning:v1.75.2@sha256:045600d0b7fb1543fdff80b3cbd303a3990792130b7a3de2459d7bb0ff5ad471
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/model-cache:/cache
|
|
environment:
|
|
<<: *env
|
|
restart: on-failure
|
|
|
|
web:
|
|
image: ghcr.io/immich-app/immich-web:v1.75.2@sha256:d3056701ce73e5b647861390e2bdecdae78fb6dc97b0a5539e5f1ab5069c3180
|
|
environment:
|
|
<<: *env
|
|
restart: on-failure
|
|
|
|
typesense:
|
|
image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
|
|
environment:
|
|
TYPESENSE_API_KEY: *typesense_api_key
|
|
TYPESENSE_DATA_DIR: "/data"
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/tsdata:/data
|
|
restart: on-failure
|
|
|
|
proxy:
|
|
image: ghcr.io/immich-app/immich-proxy:v1.75.2@sha256:fd3a26e26ac95e1af2b3e5ef9dcc0e53f0512e5198e271193e1640d2a439711b
|
|
environment:
|
|
IMMICH_SERVER_URL: *immich_server_url
|
|
IMMICH_WEB_URL: *immich_web_url
|
|
depends_on:
|
|
- server
|
|
- web
|
|
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: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
|
|
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
|