mirror of
https://github.com/immich-app/immich.git
synced 2026-10-16 21:05:52 +08:00
bb024c862609c9e2baffc08fef795cfa3418df16
* perf(server): check shared link asset access without scanning the album checkSharedLinkAccess runs on every thumbnail, preview, playback and asset info request made through a shared link. It joined every asset of the link's album and only then filtered on an array overlap across four outer-joined columns, so each request cost O(album size). Split it into two branches (link assets, album assets) that find the requested ids through the asset pkey / livePhotoVideoId index and then probe the album_asset pkey. Median per request, PG 14, 1.36M-asset instance: | album behind the link | before | after | |-----------------------|--------|---------| | 290 assets | 2.1 ms | 0.17 ms | | 150k assets | 296 ms | 0.19 ms | * chore: clean up --------- Co-authored-by: Jason Rasmussen <jason@rasm.me>
…
…
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
| 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.
Repository activity
Contributors
Description
Languages
TypeScript
53.3%
Dart
28.6%
Svelte
12.4%
Python
2.2%
Kotlin
1.4%
Other
1.9%