Immich: Self Hosted Media Backup Solution

Immich: Self Hosted Media Backup Solution
Self Hosted Immich screenshot

Immich, the self-hosted photo and video management solution designed to help small businesses and creators backup, organize, and manage their media files. Immich can be a valuable asset for a local realty team looking to backup property photos and videos stored on their mobile devices.

Immich is a powerful tool for small businesses like real estate agencies. It provides a secure, organized, and efficient way to manage all your media files, keeping your team's workflow running smoothly.

Self hosted Immich screencast

Hope you found Immich helpful and that you'll consider implementing Immich to enhance your media management processes. Learn more below about managed self hosted Immich for your team.

Formable's Immich Portainer stack docker-compose.yml

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - stack.env
    ports:
      - 22283:2283
    depends_on:
      - redis
      - database
    restart: on-failure:10
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - stack.env
    restart: on-failure:10
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:2ba50e1ac3a0ea17b736ce9db2b0a9f6f8b85d4c27d5f5accc6a416d8f42c6d5
    healthcheck:
      test: redis-cli ping || exit 1
    restart: on-failure:10

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    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',
      ]
    restart: on-failure:10

volumes:
  library:
  postgres:
  model-cache:

Managed Self Hosted Immich

Formable sets up, monitors and updates your cloud applications.

💡
Formable installs Immich at your own subdomain, for example: immich.formable.app
🔒
Free Let's Encrypt certificate setup and renewal with certbot.
📡
We monitor your application subdomain with Formable's Uptime Kuma server.
⚙️
Formable updates your application and checks for any breaking changes.
💾
Formable configures Kopia to take incremental snapshots of your application data and files to AWS S3.
✉️
Formable starts you on our Mailgun SMTP server for email notification delivery. We can then get you setup with your own Mailgun account and subdomain, so you can track deliverability.
🚨
Formable resolves any application downtime issues and supports your team.
Mastodon