immich-machine-learning-rocm

immich-machine-learning-rocm

Docker app from rorar's Repository

Overview

Immich Machine Learning service with AMD ROCm GPU acceleration. Requires an AMD GPU (Polaris or newer) with the amdgpu kernel driver. ROCm driver/kernel pairing matters – check compatibility. Handles face recognition, CLIP-based image search, and OCR using GPU-accelerated inference. Must be on the same Docker network as the Immich server.


License: AGPLv3 Discord

High performance self-hosted photo and video management solution



Català Español Français Italiano 日本語 한국어 Deutsch Nederlands Türkçe 简体中文 正體中文 Українська Русский Português Brasileiro Svenska العربية Tiếng Việt ภาษาไทย മലയാളം

[!WARNING] ⚠️ Always follow 3-2-1 backup plan for your precious photos and videos!

[!NOTE] You can find the main documentation, including installation guides, at https://immich.app/.

Links

Demo

Access the demo here. For the mobile app, you can use https://demo.immich.app for the Server Endpoint URL.

Login credentials

Email Password
demo@immich.app demo

Features

Features Mobile Web
Upload and view videos and photos Yes Yes
Auto backup when the app is opened Yes N/A
Prevent duplication of assets Yes Yes
Selective album(s) for backup Yes N/A
Download photos and videos to local device Yes Yes
Multi-user support Yes Yes
Album and Shared albums Yes Yes
Scrubbable/draggable scrollbar Yes Yes
Support raw formats Yes Yes
Metadata view (EXIF, map) Yes Yes
Search by metadata, objects, faces, and CLIP Yes Yes
Administrative functions (user management) No Yes
Background backup Yes N/A
Virtual scroll Yes Yes
OAuth support Yes Yes
API Keys N/A Yes
LivePhoto/MotionPhoto backup and playback Yes Yes
Support 360 degree image display No Yes
User-defined storage structure Yes Yes
Public Sharing Yes Yes
Archive and Favorites Yes Yes
Global Map Yes Yes
Partner Sharing Yes Yes
Facial recognition and clustering Yes Yes
Memories (x years ago) Yes Yes
Offline support Yes No
Read-only gallery Yes Yes
Stacked Photos Yes Yes
Tags No Yes
Folder View Yes Yes

Translations

Read more about translations here.

Translation status

Repository activity

Activities

Star history

Star History Chart

Contributors

Install immich-machine-learning-rocm on Unraid in a few clicks.

Find immich-machine-learning-rocm in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for immich-machine-learning-rocm Review the template variables and paths Click Install

Requirements

Requires AMD GPU (Polaris or newer) with amdgpu driver and /dev/dri + /dev/kfd available. If /dev/dri is missing, ensure the GPU kernel module is loaded (modprobe amdgpu). AMD users may need the RadeonTOP plugin to enable /dev/dri. Must be on the same Docker network as the immich-server container. Full setup guide: https://rorar.github.io/immich-unraid-manual/

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/immich-app/immich-machine-learning:release-rocm
Last Updated2026-07-07
First Seen2026-07-01

Runtime arguments

Network
immich_internal
Shell
bash
Privileged
false
Extra Params
--group-add video

Template configuration

Device: KFDDevice

AMD Kernel Fusion Driver. Required for ROCm.

Target
/dev/kfd
Default
/dev/kfd
Value
/dev/kfd
Device: DRIDevice

AMD GPU render device.

Target
/dev/dri
Default
/dev/dri
Value
/dev/dri
Path: Model CachePathrw

ML model cache directory. Models are downloaded on first use (several GB).

Target
/cache
Default
/mnt/user/appdata/immich/model-cache/
Value
/mnt/user/appdata/immich/model-cache/
--- System ---Variable

General settings.

Variable: TZVariable

Timezone. See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List

Target
TZ
Default
Europe/Berlin
Value
Europe/Berlin
--- Advanced ---Variable

Advanced ML settings.

MACHINE_LEARNING_MODEL_TTLVariable

Seconds of inactivity before unloading models from VRAM. Set to 0 to keep loaded permanently.

Default
300
Value
300
MACHINE_LEARNING_WORKERSVariable

Number of ML worker processes. For multi-GPU setups, increase workers and set MACHINE_LEARNING_DEVICE_IDS (e.g. 0,1) to distribute workers across GPUs.

Default
1
Value
1
MACHINE_LEARNING_WORKER_TIMEOUTVariable

Seconds before a worker is considered unresponsive. GPU inference can be slow on first run.

Default
300
Value
300
IMMICH_LOG_LEVELVariable

Log verbosity: verbose, debug, log, warn, error

Default
log
Value
log