MCPSERV.CLUB
Immich

Immich

Self-Hosted

Self‑hosted photo and video manager

Active(100)
82.0kstars
2views
Updated 11 hours ago

Overview

Discover what makes Immich powerful

Immich is a **high‑performance, self‑hosted photo and video management platform** that balances rich feature sets with a lightweight footprint. From a developer’s perspective, the core value lies in its *modern, container‑friendly architecture* and comprehensive **RESTful API** that exposes nearly every user‑facing capability. The system is designed to run on any infrastructure that supports Docker, Kubernetes, or a simple VM, making it ideal for edge deployments, NAS boxes, or cloud‑native environments.

Asset ingestion

Metadata extraction

Search & filtering

Album management

Overview

Immich is a high‑performance, self‑hosted photo and video management platform that balances rich feature sets with a lightweight footprint. From a developer’s perspective, the core value lies in its modern, container‑friendly architecture and comprehensive RESTful API that exposes nearly every user‑facing capability. The system is designed to run on any infrastructure that supports Docker, Kubernetes, or a simple VM, making it ideal for edge deployments, NAS boxes, or cloud‑native environments.

Architecture & Technical Stack

The backend is a Node.js service written in TypeScript, orchestrated by the NestJS framework. It communicates with a PostgreSQL database for metadata and an S3‑compatible object store (e.g., MinIO, AWS S3) for raw media. The image/video processing pipeline is powered by FFmpeg and the sharp library, both wrapped in a micro‑service that performs transcoding, thumbnail generation, and format conversion on ingestion. A lightweight Redis instance handles message queues for background jobs and real‑time notifications.

The mobile clients (iOS/Android) are native React Native applications that consume the same API, enabling features such as auto‑backup, selective album sync, and raw format support. The web interface is a React SPA that leverages WebSocket streams for live updates and uses Mapbox GL for geolocation visualisation.

Core Capabilities & APIs

  • Asset ingestion: Push photos/videos via the /api/v1/album/upload endpoint, with automatic duplicate detection using SHA‑256 hashing.
  • Metadata extraction: Exposes EXIF, GPS, and camera model data through /api/v1/media/:id/metadata.
  • Search & filtering: Full‑text search on titles, tags, and location, plus range queries for dates.
  • Album management: Create, update, delete, and share albums; support for nested shared links with expiry controls.
  • Webhook hooks: Trigger external services on events such as MEDIA_UPLOADED or ALBUM_SHARED.
  • OAuth & SSO: Integration with OpenID Connect providers for single‑sign‑on.

The API is fully documented in Swagger/OpenAPI format, and the SDKs for JavaScript/TypeScript are auto‑generated, facilitating rapid integration into custom dashboards or automation scripts.

Deployment & Infrastructure

Immich ships with a single docker-compose.yml that defines three services: server, database, and object store. For production, a Helm chart is available for Kubernetes, exposing horizontal scaling options via the replicas parameter. The server itself is stateless; all state resides in PostgreSQL and the object store, enabling seamless load‑balancing. Backup strategies are simple: snapshot the database, sync the object store to a secondary region, and keep immutable logs.

Integration & Extensibility

The platform is intentionally modular: custom plugins can hook into the NestJS module system, adding new API routes or background jobs. The webhook system allows third‑party services (e.g., Home Assistant, Slack) to react to media events. For developers building their own UI or mobile clients, the public API is versioned and backward‑compatible, ensuring long‑term stability.

Developer Experience & Community

Documentation is split into user and developer sections, with interactive API references. The community thrives on Discord and GitHub Discussions; contributors benefit from a clear contribution guide, automated CI checks, and an active roadmap. Licensing under AGPL‑v3 guarantees that any derivative work remains open source, fostering a healthy ecosystem.

Use Cases & Advantages

  • Home media servers: Run on a NAS, automatically back up phone libraries while keeping privacy in control.
  • Enterprise photo archives: Provide a self‑hosted, searchable gallery for internal documentation or marketing assets.
  • IoT edge devices: Deploy on a Raspberry Pi to capture and stream security footage with minimal overhead.
  • Developer tooling: Use the API for automated tagging, AI‑based image analysis pipelines, or custom analytics dashboards.

Compared to commercial SaaS solutions, Immich offers zero vendor lock‑in, full control over data locality, and a performance‑oriented stack that scales horizontally with minimal latency. Its open‑source nature, combined with a robust API surface and container‑friendly deployment model, makes it the go‑to choice for developers who need a secure, extensible photo management backend.

Open SourceReady to get started?

Join the community and start self-hosting Immich today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
82.0k
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Official
Min RAM
1GB
Min Storage
5GB
Supported OS
LinuxDocker
Author
immich-app
immich-app
Last Updated
11 hours ago