Self-hosted photo and video backup solution directly from your mobile phone.
Go to file
Nicolò 9bce3417e9
feat(server): email notifications (#8447)
* feat(server): add `react-mail` as mail template engine and `nodemailer`

* feat(server): add `smtp` related configs to `SystemConfig`

* feat(web): add page for SMTP settings

* feat(server): add `react-email.adapter`

This adapter render the React-Email into HTML and plain/text email.
The output is set as the body of the email.

* feat(server): add `MailRepository` and `MailService`

Allow to use the NestJS-modules-mailer module to send SMTP emails.
This is the base transport for the `NotificationRepository`

* feat(server): register the job dispatcher and Job for async email

This allows to queue email sending jobs for the `EmailService`.

* feat(server): add `NotificationRepository` and `NotificationService`

This act as a middleware to properly route the notification to the right transport.
As POC I've only implemented a simple SMTP transport.

* feat(server): add `welcome` email template

* feat(server): add the first notification on `createUser` in `UserService`

This trigger an event for the `NotificationRepository` that once processes
by using the global config and per-user config will carry the payload to the right notification transport.

* chore: clean up

* chore: clean up web

* fix: type errors"

* fix package lock

* fix mail sending, option to ignore certs

* chore: open api

* chore: clean up

* remove unused import

* feat: email feature flag

* chore: remove unused interface

* small styling

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2024-05-02 15:43:18 +01:00
.github dep(mobile): upgrade gradle (#8409) 2024-04-20 23:07:32 -05:00
.vscode chore(server): move services (#8133) 2024-03-20 18:07:30 -05:00
cli chore: fvm and node dependency updates and pinning (#9203) 2024-05-01 14:05:18 +01:00
design chore: update readme screenshot (#8182) 2024-03-22 04:31:36 +00:00
docker chore(server): default postgres hostname to compose service name (#9118) 2024-04-27 13:43:45 -04:00
docs docs: New Futo milestones (#9211) 2024-05-02 00:47:09 +00:00
e2e feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
fastlane Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
machine-learning chore(deps): update dependency ruff to v0.4.2 (#9186) 2024-04-30 14:38:05 -04:00
misc/release chore: remove donation links from the readme, docs and release notes template (#9207) 2024-05-02 01:33:17 +01:00
mobile feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
open-api feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
readme_i18n fix(docs): fix path in readme files (#8289) 2024-03-26 13:07:55 +00:00
server feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
web feat(server): email notifications (#8447) 2024-05-02 15:43:18 +01:00
.dockerignore chore: build tweaks (#7484) 2024-02-29 09:22:25 -05:00
.editorconfig chore: linting (#7532) 2024-02-29 11:26:55 -05:00
.gitattributes refactor(web): drop axios (#7490) 2024-02-29 11:22:39 -05:00
.gitignore chore: post release tasks 2024-01-18 21:15:58 -06:00
.gitmodules test(server): full backend end-to-end testing with microservices (#4225) 2023-10-06 23:32:28 +02:00
CODE_OF_CONDUCT.md Added Code of conduct 2022-08-21 12:43:56 -07:00
CODEOWNERS chore: add code owner (#8701) 2024-04-11 06:34:19 +00:00
install.sh feat: Improve error handling for Install Script (#8422) 2024-04-08 19:01:57 -04:00
LICENSE Change license to AGPLv3 (#7046) 2024-02-12 15:31:59 +00:00
localizely.yml feat(mobile) Add zh-TW.json for Traditional Chinese Language Support (#9046) 2024-04-24 15:28:47 +00:00
Makefile chore(server): cleanup library watching (#8835) 2024-04-15 23:05:08 -04:00
README.md chore: remove donation links from the readme, docs and release notes template (#9207) 2024-05-02 01:33:17 +01:00
renovate.json feat: mobile label for renovate pull requests (#8991) 2024-04-21 13:11:03 -05:00
SECURITY.md Create SECURITY.md (#712) 2022-09-17 13:07:12 -05:00


License: AGPLv3 Discord

High performance self-hosted photo and video management solution



Català Español Français Italiano 日本語 한국어 Deutsch Nederlands Türkçe 中文 Русский

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.
  • ⚠️ Always follow 3-2-1 backup plan for your precious 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

Activities

Activities

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 No 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

Contributors

Star History

Star History Chart