Immich

screenshot of Immich
nestjs
svelte

High performance self-hosted photo and video management solution.

Overview

This document analyzes the features and installation process of the Immich app. The app is currently under active development and may contain bugs and breaking changes. It is not recommended to use the app as the sole means of storing photos and videos; a 3-2-1 backup plan is advised. The app provides features such as uploading and viewing videos and photos, auto backup on app opening, selective album backup, and more. Installation guides and documentation can be found on the app's official website.

Features

  • Upload and view videos and photos: Allows users to upload and view videos and photos on both the mobile and web versions of the app.
  • Auto backup when the app is opened: Automatically backs up data when the app is opened.
  • Selective album(s) for backup: Users can choose specific albums for backup.
  • Download photos and videos to local device: Provides the ability to download photos and videos to the user's local device.
  • Multi-user support: Supports multiple user accounts.
  • Album and Shared albums: Allows users to create and share albums.
  • Scrubbable/draggable scrollbar: Provides a scrubbable and draggable scrollbar for easy navigation.
  • Support raw formats: Supports raw image formats.
  • Metadata view (EXIF, map): Allows users to view metadata such as EXIF data and location on a map.
  • Search by metadata, objects, faces, and CLIP: Users can search for content based on metadata, objects, faces, and CLIP tags.
  • Administrative functions (user management): Provides administrative functions for user management on the web version.
  • Background backup: Supports background backup for convenience.
  • Virtual scroll: Implements virtual scroll functionality for efficient browsing.
  • OAuth support: Supports OAuth authentication.
nestjs
Nest

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript.

svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

Flutter

Flutter is an open-source UI framework developed by Google that allows developers to create high-performance, cross-platform mobile applications with a single codebase.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.