whatisgithub

What is immich-revive?

wpaalperen/immich-revive — explained in plain English

Analysis updated 2026-05-18

3PythonAudience · ops devopsComplexity · 2/5LicenseSetup · easy

In one sentence

A background daemon that watches Immich's job queues and automatically retries failed machine-learning tasks when a remote ML server comes back online.

Mindmap

mindmap
  root((immich-revive))
    What it does
      Monitors Immich job queues
      Retries failed ML jobs
      Auto-detects API version
    Tech stack
      Python
      Docker
      Systemd
    Use cases
      Remote ML server outages
      Face detection retries
      Smart search retries
    Setup
      Docker Compose
      Systemd service
      Admin API key required

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically retry failed face detection or smart search jobs when a remote Immich ML server reconnects.

USE CASE 2

Run a lightweight daemon alongside a self-hosted Immich instance without manual job restarts.

USE CASE 3

Monitor specific Immich job queues and periodically sweep for orphaned unprocessed assets.

What is it built with?

PythonDockerSystemd

How does it compare?

wpaalperen/immich-revive0marildo/imago0xdfi/glm-5.2-1m-4x-dgx-spark
Stars333
LanguagePythonPythonPython
Setup difficultyeasyeasyhard
Complexity2/52/55/5
Audienceops devopsgeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires an Immich administrator API key and an existing Immich instance with remote ML.

MIT license, so you can use, modify, and redistribute it freely with attribution.

So what is it?

Immich Revive is a small background program that keeps Immich, a self-hosted photo and video management app, running smoothly when its machine learning processing fails. Immich can offload tasks like face detection or smart search to a separate remote machine, but if that machine goes offline partway through, those jobs fail and Immich does not retry them automatically. Normally someone would have to log into the admin panel and restart the failed jobs by hand every time this happens. This tool solves that by running continuously alongside your Immich server and checking the Immich API on a regular interval, every two minutes by default. When it finds jobs that have failed in the queues you choose to watch, such as face detection, smart search, or metadata extraction, it clears those failed entries so Immich treats the affected photos as unprocessed again, then triggers reprocessing. The result is that as soon as the remote machine learning server comes back online, those photos get picked up and finished automatically, without anyone needing to intervene. The daemon works with both older and newer versions of Immich, automatically detecting which version of the job API your server uses. It can be run either as a Docker container alongside your existing Immich setup or as a systemd service directly on the host machine, and it needs an administrator API key from your Immich instance to function. Configuration, including which job queues to monitor and how often to check, is handled through a simple environment file. This project is aimed at people who already self-host Immich with a separate remote machine learning server, particularly setups where that ML machine is not always online, such as a laptop that only sometimes joins the network. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Walk me through setting up immich-revive with Docker Compose next to my existing Immich instance.
Prompt 2
How do I configure which Immich job queues immich-revive should monitor and retry?
Prompt 3
Explain how immich-revive detects whether my Immich server uses the old or new jobs API.
Prompt 4
Set up immich-revive as a systemd service on the same host as my Immich server.

Frequently asked questions

What is immich-revive?

A background daemon that watches Immich's job queues and automatically retries failed machine-learning tasks when a remote ML server comes back online.

What language is immich-revive written in?

Mainly Python. The stack also includes Python, Docker, Systemd.

What license does immich-revive use?

MIT license, so you can use, modify, and redistribute it freely with attribution.

How hard is immich-revive to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is immich-revive for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.