Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
package-lock.json
meta.json.backup.*
meta.json.backup.*
.wrangler/
74 changes: 15 additions & 59 deletions blueprints/immich/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,99 +1,55 @@
version: "3.9"

services:
immich-server:
image: ghcr.io/immich-app/immich-server:v2.1.0
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}

volumes:
- immich-library:/usr/src/app/upload
- immich-library:/data
- /etc/localtime:/etc/localtime:ro
depends_on:
immich-redis:
redis:
condition: service_healthy
immich-database:
database:
condition: service_healthy
environment:
PORT: 2283
SERVER_URL: ${SERVER_URL}
FRONT_BASE_URL: ${FRONT_BASE_URL}
# 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:
test: ["CMD", "curl", "-f", "http://localhost:2283/server-info/ping"]
interval: 30s
timeout: 10s
retries: 3
disable: false

immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:v2.1.0
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}

volumes:
- immich-model-cache:/cache
environment:
REDIS_HOSTNAME: ${REDIS_HOSTNAME}
REDIS_PORT: ${REDIS_PORT}
REDIS_DBINDEX: ${REDIS_DBINDEX}
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3003/ping"]
interval: 30s
timeout: 10s
retries: 3
disable: false

immich-redis:
image: redis:6.2-alpine
redis:
image: docker.io/valkey/valkey:9@sha256:4963247afc4cd33c7d3b2d2816b9f7f8eeebab148d29056c2ca4d7cbc966f2d9

volumes:
- immich-redis-data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
test: redis-cli ping || exit 1
restart: unless-stopped

immich-database:
image: tensorchord/pgvecto-rs:pg14-v0.3.0
database:
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23

volumes:
- immich-postgres:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: immich
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
shm_size: 128mb
healthcheck:
test: pg_isready -U ${DB_USERNAME} -d immich || exit 1
interval: 10s
timeout: 5s
retries: 5
command:
[
'postgres',
'-c',
'shared_preload_libraries=vectors.so',
'-c',
'search_path="$$user", public, vectors',
'-c',
'logging_collector=on',
'-c',
'max_wal_size=2GB',
'-c',
'shared_buffers=512MB',
'-c',
'wal_compression=on',
]
disable: false
restart: unless-stopped

volumes:
Expand Down
2 changes: 1 addition & 1 deletion blueprints/immich/meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "immich",
"name": "Immich",
"version": "v1.121.0",
"version": "latest",
"description": "High performance self-hosted photo and video backup solution directly from your mobile phone.",
"logo": "immich.svg",
"links": {
Expand Down
22 changes: 6 additions & 16 deletions blueprints/immich/template.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,13 @@ db_password = "${password}"
db_user = "immich"

[config]
env = [
"IMMICH_HOST=${main_domain}",
"SERVER_URL=https://${main_domain}",
"FRONT_BASE_URL=https://${main_domain}",
"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}"

[config.env]
SERVER_URL = "https://${main_domain}"
DB_USERNAME = "${db_user}"
DB_PASSWORD = "${db_password}"
DB_DATABASE_NAME = "immich"
Loading