Skip to content

Immich

The Immich stack is centered the immich photo management server and its depedants with a slideshow webapp as addition.

ServiceURLPurposeProject
immichphotos.fjellhei.menImage managementimmich.app
immich-kioskkiosk.fjellhei.menImage gallerydamongolding/immich-kiosk

"Immich is a self-hosted photo and video management solution."

"Immich-kiosk is a web slideshow for Immich."

docker-compose.yaml

yaml
---
name: immich

services:

  server:
    image: ghcr.io/immich-app/immich-server:v1.135.3
    container_name: immich-server
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /fjellheimen/immich/data/upload:/usr/src/app/upload
      - /xdrive/Data/Photos:/usr/src/app/external:ro
    networks:
      - proxy-network
      - immich-network
    env_file:
      - /fjellheimen/.env
      - /fjellheimen/immich/.env
    depends_on:
      - redis
      - database
    restart: unless-stopped

  redis:
    image: docker.io/valkey/valkey:8-bookworm@sha256:fec42f399876eb6faf9e008570597741c87ff7662a54185593e74b09ce83d177
    container_name: immich-redis
    networks:
      - immich-network
    env_file:
      - /fjellheimen/.env
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped

  database:
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
    container_name: immich-database
    volumes:
      - /fjellheimen/immich/data/postgres:/var/lib/postgresql/data
    networks:
      - immich-network
    env_file:
      - /fjellheimen/.env
      - /fjellheimen/immich/.env
    environment:
      POSTGRES_INITDB_ARGS: '--data-checksums'
      DB_STORAGE_TYPE: 'HDD'
    restart: unless-stopped

  kiosk:
    image: ghcr.io/damongolding/immich-kiosk:latest
    container_name: immich-kiosk
    networks:
      - immich-network
      - proxy-network
    env_file:
      - /fjellheimen/.env
      - /fjellheimen/immich/immich-kiosk.env
    environment:
      KIOSK_IMMICH_URL: immich-server:2283
    healthcheck:
      test: wget -nv -t1 --spider http://localhost:3000 || exit 1
      interval: 1m
      start_period: 20s
      timeout: 10s
      retries: 3
    restart: unless-stopped

networks:
  immich-network:
    name: immich-network
  proxy-network:
    external: true