1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-24 10:37:28 +02:00
Self-hosted photo and video backup solution directly from your mobile phone.
Go to file
Alex Phillips 7c1dae918d
feat(server): xmp sidecar metadata (#2466)
* initial commit for XMP sidecar support

* Added support for 'missing' metadata files to include those without sidecar files, now detects sidecar files in the filesystem for media already ingested but the sidecar was created afterwards

* didn't mean to commit default log level during testing

* new sidecar logic for video metadata as well

* Added xml mimetype for sidecars only

* don't need capture group for this regex

* wrong default value reverted

* simplified the move here - keep it in the same try catch since the outcome is to move the media back anyway

* simplified setter logic

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>

* simplified logic per suggestions

* sidecar is now its own queue with a discover and sync, updated UI for the new job queueing

* queue a sidecar job for every asset based on discovery or sync, though the logic is almost identical aside from linking the sidecar

* now queue sidecar jobs for each assset, though logic is mostly the same between discovery and sync

* simplified logic of filename extraction and asset instantiation

* not sure how that got deleted..

* updated code per suggestions and comments in the PR

* stat was not being used, removed the variable set

* better type checking, using in-scope variables for exif getter instead of passing in every time

* removed commented out test

* ran and resolved all lints, formats, checks, and tests

* resolved suggested change in PR

* made getExifProperty more dynamic with multiple possible args for fallbacks, fixed typo, used generic in function  for better type checking

* better error handling and moving files back to positions on move or save failure

* regenerated api

* format fixes

* Added XMP documentation

* documentation typo

* Merged in main

* missed merge conflict

* more changes due to a merge

* Resolving conflicts

* added icon for sidecar jobs

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-05-24 20:59:30 -05:00
.github feat(mobile): lazy loading of assets (#2413) 2023-05-17 12:36:02 -05:00
.vscode chore: microservices debugger (#2345) 2023-04-28 13:21:01 -05:00
design chore: update screenshots for readme and docs (#2425) 2023-05-10 23:33:32 -05:00
docker docker: use default entrypoint and command where applicable (#2529) 2023-05-23 09:02:47 -05:00
docs feat(server): xmp sidecar metadata (#2466) 2023-05-24 20:59:30 -05:00
fastlane Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
machine-learning chore(ml): load models on start up (#2487) 2023-05-19 22:37:01 -05:00
misc/release build: improve pump script (#2351) 2023-04-28 21:10:32 -05:00
mobile feat(server): xmp sidecar metadata (#2466) 2023-05-24 20:59:30 -05:00
nginx fix(nginx): enable gzip and show error logs (#2504) 2023-05-21 08:23:46 -05:00
server feat(server): xmp sidecar metadata (#2466) 2023-05-24 20:59:30 -05:00
web feat(server): xmp sidecar metadata (#2466) 2023-05-24 20:59:30 -05:00
.editorconfig chore: editorconfig (#1505) 2023-02-01 14:38:47 -06:00
.gitattributes feat(server) Tagging system (#1046) 2022-12-05 11:56:44 -06:00
.gitignore fix(CI): fix mobile build artifact with proper signing (#1504) 2023-02-01 21:50:07 -06:00
.gitmodules fix(mobile): add isar source code as a git submodule for F-Droid build (#1985) 2023-03-12 22:50:55 -05:00
CODE_OF_CONDUCT.md Added Code of conduct 2022-08-21 12:43:56 -07:00
install.sh chore: Simplify install script (#2148) 2023-04-02 14:13:24 -05:00
LICENSE Update Readme 2022-02-11 22:35:14 -06:00
localizely.yml Update Norwegian locale to ICU standard (#2195) 2023-04-06 14:00:24 -05:00
Makefile chore(server): Remove dist directory in command script (#2518) 2023-05-22 10:27:08 -05:00
README_zh_CN.md chore(docs): refactor pages (#1144) 2022-12-21 15:01:50 -06:00
README.md docs: add new features (#2441) 2023-05-18 09:48:43 -05:00
SECURITY.md Create SECURITY.md (#712) 2022-09-17 13:07:12 -05:00


License: MIT

Immich - High performance self-hosted photo and video backup solution



中文

Disclaimer

  • ⚠️ The project is under very active development.
  • ⚠️ Expect bugs and breaking changes.
  • ⚠️ Do not use the app as the only way to store your photos and videos!

Content

Documentation

You can find the main documentation, including installation guides, at https://immich.app/.

Demo

You can access the web demo at https://demo.immich.app

For the mobile app, you can use https://demo.immich.app/api for the Server Endpoint URL

The credential
email: demo@immich.app
password: demo
Spec: Free-tier Oracle VM - Amsterdam - 2.4Ghz quad-core ARM64 CPU, 24GB RAM

Features

Features Mobile Web
Upload and view videos and photos Yes Yes
Auto backup when the app is opened Yes N/A
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 (HEIC, HEIF, DNG, Apple ProRaw) 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 backup and playback iOS Yes
User-defined storage structure Yes Yes
Public Sharing No Yes
Archive and Favorites Yes Yes
Global Map No Yes
Partner Sharing No Yes
Facial recognition and clustering No Yes

Support the project

I've committed to this project, and I will not stop. I will keep updating the docs, adding new features, and fixing bugs. But I can't do it alone. So I need your help to give me additional motivation to keep going.

As our hosts in the selfhosted.show - In the episode 'The-organization-must-not-be-name is a Hostile Actor' said, this is a massive undertaking of what the team and I are doing. And I would love to someday be able to do this full-time, and I am asking for your help to make that happen.

If you feel like this is the right cause and the app is something you are seeing yourself using for a long time, please consider supporting the project with the option below.

Donation