Skip to content

bgr/immich

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9,297 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Fork info

Quick summary of the changes done on this fork:

more info below.

Branch management

I'll be rebasing and force-pushing. I aim to have each of the changes on a separate branch, each branched out from main, at least until I start encountering conflicts. For my purposes I'll be merging all of them into 'release' branches that I'll build the container from and upload it to my Unraid machine - I'll push those as tags and they'll be kept intact, if anything goes wrong I'll make new tags with new fixes merged in.

I'm currently using a build from tag fork-merge-2026-02-22 and it's working fine so far.

Feature branches

Aims to make the UI experience for partners indistinguishable from owner's on the web. Partners will see image metadata, the geotags on the map, the recognized faces. The photos will appear in memories and in the "Map" sidebar, people and places will appear in "Explore" sidebar.

This was done with my use-case in mind, so I might have some things in a blind spot, e.g. I'll have both the owner and the partners upload all images through the External Library exposed via the network share, so I didn't care about uploading through the web interface at all.

What works (web):

  • Partner's people appear on the People page alongside your own
  • Clicking a partner's person shows all their photos (timeline loads correctly)
  • Partner's people appear in search/filter dropdowns (search bar, smart search filters)
  • Face info panel on assets shows partner's person names and links
  • Partner's people appear in Explore sidebar
  • Partner's places appear in Explore sidebar and on the Map
  • Partner's photos appear in Memories
  • Searching by person name finds both your own and partner's people
  • People page pagination handles >500 people across multiple partners

What doesn't work / known limitations:

  • People management is read-only for partners. Only the person's owner can rename, hide, merge, set birth dates, or change feature photos. Edit controls are hidden in the UI for partner people.
  • Mobile app does not show partner people. The Dart client would need regeneration to pick up new types (ownerId on PersonResponseDto), and the mobile UI would need changes to pass ownerId when loading a person's timeline. The existing mobile app won't break — it ignores unknown fields.
  • No cross-user person merging. You cannot merge a person from your library with a person from a partner's library, even if they're the same real person. Each user's face clusters are independent.

Impact on other clients:

Feature Web Mobile (no rebuild) Mobile (with rebuild)
Memories Works Works (resolves assets from local sync DB) Works
Explore places Works Works (server returns partner cities) Works
Explore people Works No change Needs code to pass ownerId
Map Works (default on) No change (has own default) One-line default change
People page Works No change Needs ownerId + UI changes
Person detail Works No change Needs ownerId for timeline
People management Read-only for partners N/A N/A

The OpenAPI spec and TypeScript SDK are regenerated and in sync.

Note: I didn't get to test this out propery yet.

Adds a per-album toggle to hide its assets from the main Photos timeline. The album itself remains visible and accessible — only its assets stop appearing in the timeline view. A closed-eye indicator is shown on album cards (cover view) and album rows (list view) when an album is hidden. The toggle is available in the album context menu on the albums list page and as an eye icon button in the album detail page toolbar.

Adds -fork suffix to the version number in the sidebar and a "Fork" line in the About modal linking to this repo. Makes it clear to the user that they're running a fork.

A deploy script for building the fork and uploading it to Unraid machines that previously ran ImageGenius Immich. It discovers the existing container's config, builds a drop-in replacement image from the fork's source, transfers it to Unraid via SCP, and manages it through Docker Compose Manager. The original container is stopped and left intact.

The build step patches the ImageGenius Dockerfile to COPY local source instead of downloading from GitHub, and splits the monolithic RUN into two Docker layers — one for dependency installation (apt, Node.js, Python, pnpm) and one for compiling the code (server, web, CLI, ML, plugins). This way code-only changes reuse the cached dependency layer and skip the slow install step.


Original README below



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

About

High performance self-hosted photo and video management solution.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 47.5%
  • Dart 34.0%
  • Svelte 12.3%
  • Kotlin 1.8%
  • Swift 1.7%
  • Python 1.4%
  • Other 1.3%