You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

106 lines
3.3 KiB

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.82.1@sha256:c6dc1823f99e3b23002088eab26b7675e7c3b4703ab71449d054dd18bbdfb11d
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.82.1@sha256:c6dc1823f99e3b23002088eab26b7675e7c3b4703ab71449d054dd18bbdfb11d
# 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.82.1@sha256:9ff5a57031bcf687b2d222f5f473279ae5e47908d38da70c568c95b211227667
volumes:
- ${APP_DATA_DIR}/data/model-cache:/cache
environment:
<<: *env
restart: on-failure
web:
image: ghcr.io/immich-app/immich-web:v1.82.1@sha256:b59ec80d45a9395f020c312868abd08eafbfe3594e83955d7e566096309f0f2f
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.82.1@sha256:96239238d467a69e68db007339497c5e5bab820d2152300aa46b3e031f2c245e
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