Immich
High performance self-hosted photo and video backup solution directly from your mobile phone.
Configuration
version: "3.9"
services:
immich-server:
image: ghcr.io/immich-app/immich-server:v3.0.2
volumes:
- immich-library:/data
- /etc/localtime:/etc/localtime:ro
depends_on:
immich-redis:
condition: service_healthy
immich-database:
condition: service_healthy
environment:
# Database Configuration
DB_HOSTNAME: ${DB_HOSTNAME}
DB_PORT: ${DB_PORT}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
DB_DATABASE_NAME: ${DB_DATABASE_NAME}
# Redis Configuration
REDIS_HOSTNAME: ${REDIS_HOSTNAME}
REDIS_PORT: ${REDIS_PORT}
REDIS_DBINDEX: ${REDIS_DBINDEX}
# Server Configuration
TZ: ${TZ}
restart: unless-stopped
healthcheck:
disable: false
immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:v3.0.2
volumes:
- immich-model-cache:/cache
restart: unless-stopped
healthcheck:
disable: false
immich-redis:
image: valkey/valkey:9
volumes:
- immich-redis-data:/data
healthcheck:
test: redis-cli ping || exit 1
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
immich-database:
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
volumes:
- immich-postgres:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
shm_size: 128mb
healthcheck:
test: pg_isready -U ${DB_USERNAME} -d ${DB_DATABASE_NAME} || exit 1
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
immich-model-cache:
immich-postgres:
immich-library:
immich-redis-data:[variables]
main_domain = "${domain}"
db_password = "${password}"
db_user = "immich"
[config]
env = [
"DB_HOSTNAME=immich-database",
"DB_PORT=5432",
"DB_USERNAME=${db_user}",
"DB_PASSWORD=${db_password}",
"DB_DATABASE_NAME=immich",
"REDIS_HOSTNAME=immich-redis",
"REDIS_PORT=6379",
"REDIS_DBINDEX=0",
"TZ=UTC",
]
mounts = []
[[config.domains]]
serviceName = "immich-server"
port = 2_283
host = "${main_domain}"Base64
To import this template in Dokploy: create a Compose service → Advanced → Base64 import and paste the content below:
ewogICJjb21wb3NlIjogInZlcnNpb246IFwiMy45XCJcblxuc2VydmljZXM6XG4gIGltbWljaC1zZXJ2ZXI6XG4gICAgaW1hZ2U6IGdoY3IuaW8vaW1taWNoLWFwcC9pbW1pY2gtc2VydmVyOnYzLjAuMlxuXG4gICAgdm9sdW1lczpcbiAgICAgIC0gaW1taWNoLWxpYnJhcnk6L2RhdGFcbiAgICAgIC0gL2V0Yy9sb2NhbHRpbWU6L2V0Yy9sb2NhbHRpbWU6cm9cbiAgICBkZXBlbmRzX29uOlxuICAgICAgaW1taWNoLXJlZGlzOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgICAgaW1taWNoLWRhdGFiYXNlOlxuICAgICAgICBjb25kaXRpb246IHNlcnZpY2VfaGVhbHRoeVxuICAgIGVudmlyb25tZW50OlxuICAgICAgIyBEYXRhYmFzZSBDb25maWd1cmF0aW9uXG4gICAgICBEQl9IT1NUTkFNRTogJHtEQl9IT1NUTkFNRX1cbiAgICAgIERCX1BPUlQ6ICR7REJfUE9SVH1cbiAgICAgIERCX1VTRVJOQU1FOiAke0RCX1VTRVJOQU1FfVxuICAgICAgREJfUEFTU1dPUkQ6ICR7REJfUEFTU1dPUkR9XG4gICAgICBEQl9EQVRBQkFTRV9OQU1FOiAke0RCX0RBVEFCQVNFX05BTUV9XG4gICAgICAjIFJlZGlzIENvbmZpZ3VyYXRpb25cbiAgICAgIFJFRElTX0hPU1ROQU1FOiAke1JFRElTX0hPU1ROQU1FfVxuICAgICAgUkVESVNfUE9SVDogJHtSRURJU19QT1JUfVxuICAgICAgUkVESVNfREJJTkRFWDogJHtSRURJU19EQklOREVYfVxuICAgICAgIyBTZXJ2ZXIgQ29uZmlndXJhdGlvblxuICAgICAgVFo6ICR7VFp9XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIGRpc2FibGU6IGZhbHNlXG5cbiAgaW1taWNoLW1hY2hpbmUtbGVhcm5pbmc6XG4gICAgaW1hZ2U6IGdoY3IuaW8vaW1taWNoLWFwcC9pbW1pY2gtbWFjaGluZS1sZWFybmluZzp2My4wLjJcblxuICAgIHZvbHVtZXM6XG4gICAgICAtIGltbWljaC1tb2RlbC1jYWNoZTovY2FjaGVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuICAgIGhlYWx0aGNoZWNrOlxuICAgICAgZGlzYWJsZTogZmFsc2VcblxuICBpbW1pY2gtcmVkaXM6XG4gICAgaW1hZ2U6IHZhbGtleS92YWxrZXk6OVxuXG4gICAgdm9sdW1lczpcbiAgICAgIC0gaW1taWNoLXJlZGlzLWRhdGE6L2RhdGFcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IHJlZGlzLWNsaSBwaW5nIHx8IGV4aXQgMVxuICAgICAgaW50ZXJ2YWw6IDEwc1xuICAgICAgdGltZW91dDogNXNcbiAgICAgIHJldHJpZXM6IDVcbiAgICByZXN0YXJ0OiB1bmxlc3Mtc3RvcHBlZFxuXG4gIGltbWljaC1kYXRhYmFzZTpcbiAgICBpbWFnZTogZ2hjci5pby9pbW1pY2gtYXBwL3Bvc3RncmVzOjE0LXZlY3RvcmNob3JkMC40LjMtcGd2ZWN0b3JzMC4yLjBcblxuICAgIHZvbHVtZXM6XG4gICAgICAtIGltbWljaC1wb3N0Z3JlczovdmFyL2xpYi9wb3N0Z3Jlc3FsL2RhdGFcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIFBPU1RHUkVTX1BBU1NXT1JEOiAke0RCX1BBU1NXT1JEfVxuICAgICAgUE9TVEdSRVNfVVNFUjogJHtEQl9VU0VSTkFNRX1cbiAgICAgIFBPU1RHUkVTX0RCOiAke0RCX0RBVEFCQVNFX05BTUV9XG4gICAgICBQT1NUR1JFU19JTklUREJfQVJHUzogJy0tZGF0YS1jaGVja3N1bXMnXG4gICAgc2htX3NpemU6IDEyOG1iXG4gICAgaGVhbHRoY2hlY2s6XG4gICAgICB0ZXN0OiBwZ19pc3JlYWR5IC1VICR7REJfVVNFUk5BTUV9IC1kICR7REJfREFUQUJBU0VfTkFNRX0gfHwgZXhpdCAxXG4gICAgICBpbnRlcnZhbDogMTBzXG4gICAgICB0aW1lb3V0OiA1c1xuICAgICAgcmV0cmllczogNVxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG5cbnZvbHVtZXM6XG4gIGltbWljaC1tb2RlbC1jYWNoZTpcbiAgaW1taWNoLXBvc3RncmVzOlxuICBpbW1pY2gtbGlicmFyeTpcbiAgaW1taWNoLXJlZGlzLWRhdGE6XG4iLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxuZGJfcGFzc3dvcmQgPSBcIiR7cGFzc3dvcmR9XCJcbmRiX3VzZXIgPSBcImltbWljaFwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiREJfSE9TVE5BTUU9aW1taWNoLWRhdGFiYXNlXCIsXG4gIFwiREJfUE9SVD01NDMyXCIsXG4gIFwiREJfVVNFUk5BTUU9JHtkYl91c2VyfVwiLFxuICBcIkRCX1BBU1NXT1JEPSR7ZGJfcGFzc3dvcmR9XCIsXG4gIFwiREJfREFUQUJBU0VfTkFNRT1pbW1pY2hcIixcbiAgXCJSRURJU19IT1NUTkFNRT1pbW1pY2gtcmVkaXNcIixcbiAgXCJSRURJU19QT1JUPTYzNzlcIixcbiAgXCJSRURJU19EQklOREVYPTBcIixcbiAgXCJUWj1VVENcIixcbl1cbm1vdW50cyA9IFtdXG5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcImltbWljaC1zZXJ2ZXJcIlxucG9ydCA9IDJfMjgzXG5ob3N0ID0gXCIke21haW5fZG9tYWlufVwiXG4iCn0=Links
Tags
photos, videos, backup, media
Version: v3.0.2