Self-hosted photo backup at photos.ginnoir.com (internal/tailnet only). Server + machine-learning + postgres (vectorchord) + redis. Upload storage: /storage1/labdata/immich/upload (ZFS). DB/model-cache: /config/immich/ (SSD). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
11f51559b0
commit
dbe4a95059
@@ -0,0 +1,64 @@
|
||||
# photos stack — Immich self-hosted photo backup.
|
||||
# Upload storage on ZFS (/storage1/labdata/immich/upload).
|
||||
# Config/DB on SSD (/config/immich/).
|
||||
# Internal-only: photos.ginnoir.com requires LAN or tailnet.
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich-server
|
||||
image: ghcr.io/immich-app/immich-server:release
|
||||
restart: unless-stopped
|
||||
networks: [photos, edge]
|
||||
env_file:
|
||||
- stack.env
|
||||
volumes:
|
||||
- /storage1/labdata/immich/upload:/usr/src/app/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
ports:
|
||||
- "2283:2283"
|
||||
depends_on:
|
||||
- immich-redis
|
||||
- immich-postgres
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich-machine-learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:release
|
||||
restart: unless-stopped
|
||||
networks: [photos]
|
||||
env_file:
|
||||
- stack.env
|
||||
volumes:
|
||||
- /config/immich/model-cache:/cache
|
||||
|
||||
immich-redis:
|
||||
container_name: immich-redis
|
||||
image: docker.io/redis:6.2-alpine
|
||||
restart: unless-stopped
|
||||
networks: [photos]
|
||||
labels:
|
||||
com.centurylabs.watchtower.enable: "false"
|
||||
|
||||
immich-postgres:
|
||||
container_name: immich-postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.3.0
|
||||
restart: unless-stopped
|
||||
networks: [photos]
|
||||
env_file:
|
||||
- stack.env
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
POSTGRES_INITDB_ARGS: '--data-checksums'
|
||||
volumes:
|
||||
- /config/immich/pgdata:/var/lib/postgresql/data
|
||||
labels:
|
||||
com.centurylabs.watchtower.enable: "false"
|
||||
|
||||
networks:
|
||||
photos:
|
||||
name: photos
|
||||
driver: bridge
|
||||
edge:
|
||||
name: edge
|
||||
external: true
|
||||
@@ -0,0 +1,15 @@
|
||||
PUID=1000
|
||||
PGID=1000
|
||||
TZ=America/Chicago
|
||||
|
||||
# Postgres
|
||||
DB_HOSTNAME=immich-postgres
|
||||
DB_USERNAME=immich
|
||||
DB_PASSWORD=UXhnm2Gzzlm2nmJP1xWbc5L3M9Dt9TpG
|
||||
DB_DATABASE_NAME=immich
|
||||
|
||||
# Redis
|
||||
REDIS_HOSTNAME=immich-redis
|
||||
|
||||
# Immich
|
||||
UPLOAD_LOCATION=/usr/src/app/upload
|
||||
Reference in New Issue
Block a user