immich-app/immich

High performance self-hosted photo and video management solution.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 43 minutes ago
Added to GitGenius on June 2nd, 2024
Created on February 3rd, 2022
Open Issues & Pull Requests: 704 (+0)
Number of forks: 6,690
Total Stargazers: 112,512 (+2)
Total Subscribers: 352 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.4 hours
Mean response time: 31.7 days
90th percentile: 85.8 days
Tracked items: 6,087

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 94% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "🧠machine-learning" is answered fastest, typically in about an hour, while "external-library" waits about 5 days. 20% of tracked open issues have had no activity in three months. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 479
New in 7 days: 42
Closed in 7 days: 47
Avg open age: 171 days
Stale 30+ days: 294
Stale 90+ days: 122

Recent activity

Opened in 7 days: 31
Closed in 7 days: 38
Comments in 7 days: 70
Events in 7 days: 207

Top labels

  • 📱mobile (862)
  • 🖥️web (366)
  • 🗄️server (342)
  • good first issue (193)
  • mobile-beta (110)
  • format (52)
  • needs-answer (44)
  • date-time (38)

Detailed Description

Immich is a high-performance self-hosted photo and video management solution built primarily in TypeScript. It serves as a privacy-focused alternative to cloud-based photo services like Google Photos, allowing users to maintain complete control over their media libraries by running the application on their own infrastructure. The project is licensed under AGPLv3 and maintains an active community with a public Discord server.

The application provides both mobile and web interfaces for accessing and managing photos and videos. The mobile app, built with Flutter, supports automatic backup when opened and background backup functionality, while the web interface is constructed using SvelteKit and Svelte. Both platforms enable users to upload, view, download, and organize their media with features including multi-user support, shared albums, and public sharing capabilities. The system prevents duplicate asset uploads and supports raw image formats alongside standard photo and video types.

Advanced search and discovery features distinguish Immich from simpler gallery applications. Users can search by metadata including EXIF data, by detected objects, by faces through facial recognition and clustering, and using CLIP-based semantic search. The application displays metadata through an integrated map view and supports 360-degree image viewing on the web platform. Additional organizational features include the ability to create archives, mark favorites, view memories from previous years, stack similar photos, and organize content through folder views and tags.

The backend infrastructure runs on Node.js with NestJS, providing a robust server component that handles user management, API key generation, OAuth support, and administrative functions. Users can define custom storage structures for their media library, and the system supports partner sharing alongside standard album sharing. The mobile app includes offline support capabilities, allowing access to previously synced content without internet connectivity.

The README includes translations in over twenty languages, reflecting the application's international user base and commitment to accessibility.