immich-server

immich-server

Docker app from sgraaf's Repository

Overview

Immich is a high-performance, self-hosted photo and video management solution. This is the main "immich-server" service (it runs both the API and microservices workers) from the official Immich `docker-compose.yml` and provides the web UI on port 2283. This container depends on the "immich-postgres", "immich-redis" and "immich-machine-learning" containers. All four containers MUST share the same user-defined Docker network (named "immich" in these templates) so that Immich can reach them by container name. Start order: immich-postgres and immich-redis first, then immich-machine-learning, then immich-server. The DB_PASSWORD set here MUST match POSTGRES_PASSWORD in the `immich-postgres` container.

Requirements

Requires the immich-postgres, immich-redis and immich-machine-learning containers to be running on the same custom Docker network ("immich", create it by running `docker network create immich`).

Runtime arguments

Web UI
http://[IP]:[PORT:2283]/
Network
immich

Template configuration

WebUI PortPorttcp

Port for the Immich web interface and mobile app API.

Target
2283
Default
2283
Value
2283
Upload / media locationPathrw

Where Immich stores uploaded photos and videos (thumbnails, originals, etc). Equivalent to UPLOAD_LOCATION in the compose .env file. Point this at an array share with enough space, e.g. /mnt/user/photos/immich.

Target
/data
Default
/mnt/user/photos/immich
Value
/mnt/user/photos/immich
Database hostVariable

Hostname of the Postgres container. Must equal the Name of the postgres container (immich-postgres) and both must be on the 'immich' network.

Target
DB_HOSTNAME
Default
immich-postgres
Value
immich-postgres
Database portVariable

Postgres port (internal). Leave at 5432.

Target
DB_PORT
Default
5432
Value
5432
Database userVariable

Postgres username. Must match POSTGRES_USER in immich-postgres.

Target
DB_USERNAME
Default
postgres
Value
postgres
Database passwordVariable

Postgres password. MUST match POSTGRES_PASSWORD in the immich-postgres container. Use only A-Za-z0-9 characters.

Target
DB_PASSWORD
Database nameVariable

Postgres database name. Must match POSTGRES_DB in immich-postgres.

Target
DB_DATABASE_NAME
Default
immich
Value
immich
Redis hostVariable

Hostname of the Redis/Valkey container. Must equal the Name of the redis container (immich-redis) and both must be on the 'immich' network.

Target
REDIS_HOSTNAME
Default
immich-redis
Value
immich-redis
Redis portVariable

Redis port (internal). Leave at 6379.

Target
REDIS_PORT
Default
6379
Value
6379
Machine learning URLVariable

URL of the machine-learning container. Must use the Name of the ML container (immich-machine-learning) on the 'immich' network. Set to 'false' to disable ML entirely.

Target
IMMICH_MACHINE_LEARNING_URL
Default
http://immich-machine-learning:3003
Value
http://immich-machine-learning:3003
TimezoneVariable

Optional timezone, e.g. Europe/Amsterdam or Etc/UTC. Affects timestamps shown in the UI.

Target
TZ
Default
Europe/Amsterdam
Value
Europe/Amsterdam
LocaltimePathro

Read-only host clock mount, as in the compose file. Optional if TZ is set.

Target
/etc/localtime
Default
/etc/localtime
Value
/etc/localtime

Details

Repository
ghcr.io/immich-app/immich-server:release
Last Updated2026-06-01
First Seen2026-05-25

Run immich-server on Unraid.

immich-server is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.