Self-hosted photo and video backup solution directly from your mobile phone.
Go to file
Alex 8d7c576037
Added required setup for f-droid (#88)
* Added required setup for f-droid

* Added distributionSha256Sum tp gradle-wrapper.properties
2022-03-29 14:13:47 -05:00
.github Update production dockerfile for a cleaner look (#86) 2022-03-29 08:56:59 -05:00
design Fix docker-compose in production (#81) 2022-03-28 15:21:15 -05:00
docker Update production dockerfile for a cleaner look (#86) 2022-03-29 08:56:59 -05:00
fastlane Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
machine_learning Add support for Apple Pro Raw format (.DNG) (#60) 2022-03-18 20:23:05 -05:00
microservices Fixed npm run start:prod not able to find build directory (#83) 2022-03-28 21:00:17 -05:00
mobile Added required setup for f-droid (#88) 2022-03-29 14:13:47 -05:00
server Fixed npm run start:prod not able to find build directory (#83) 2022-03-28 21:00:17 -05:00
.gitignore Implemented getting correct disk info for the mounted directory (#72) 2022-03-23 14:53:45 -05:00
LICENSE Update Readme 2022-02-11 22:35:14 -06:00
Makefile Update production dockerfile for a cleaner look (#86) 2022-03-29 08:56:59 -05:00
PR_CHECKLIST.md Get thumbnail from app (#68) 2022-03-22 01:22:04 -05:00
README.md Fix docker-compose in production (#81) 2022-03-28 15:21:15 -05:00

License: MIT Star on Github Android Build iOS Build Build Status



Immich

Self-hosted photo and video backup solution directly from your mobile phone.

Loading ~4000 images/videos

Screenshots

Note

!! NOT READY FOR PRODUCTION! DO NOT USE TO STORE YOUR ASSETS !!

This project is under heavy development, there will be continous functions, features and api changes.

Features

  • Upload and view assets(videos/images).
  • Multi-user supported.
  • Quick navigation with drag scroll bar.
  • Auto Backup.
  • Support HEIC/HEIF Backup.
  • Extract and display EXIF info.
  • Real-time render from multi-device upload event.
  • Image Tagging/Classification based on ImageNet dataset
  • Object detection based on COCO SSD.
  • Search assets based on tags and exif data (lens, make, model, orientation)
  • Upload assets from your local computer/server using immich cli tools
  • [Optional] Reserve geocoding using Mapbox (Generous free-tier of 100,000 search/month)
  • Show asset's location information on map (OpenStreetMap).
  • Show curated places on the search page
  • Show curated objects on the search page

Development

You can use docker compose for development, there are several services that compose Immich

  1. NestJs
  2. PostgreSQL
  3. Redis
  4. Nginx
  5. TensorFlow

Populate .env file

Navigate to docker directory and run

cp .env.example .env

Then populate the value in there.

Notice that if set ENABLE_MAPBOX to true, you will have to provide MAPBOX_KEY for the server to run.

Pay attention to the key UPLOAD_LOCATION, this directory must exist and is owned by the user that run the docker-compose command below.

To start, run

docker-compose -f ./docker/docker-compose.yml up --build -V

The server will be running at http://your-ip:2283 through Nginx

Register User

Use the command below on your terminal to create user as we don't have user interface for this function yet.

curl --location --request POST 'http://your-server-ip:2283/auth/signUp' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "testuser@email.com",
    "password": "password"
}'

Run mobile app

Android

Download apk in release tab and run on your phone. You can follow this guide on how to do that

iOS

You can download the app from Apple AppStore here:

Support

If you like the app, find it helpful, and want to support me to offset the cost of publishing to AppStores, you can sponsor the project with Github Sponsore.

This is also a meaningful way to give me motivation and encounragment to continue working on the app.

Cheer! 🎉

Known Issue

TensorFlow doesn't run with older CPU architecture, it requires CPU with AVX and AVX2 instruction set. If you encounter the error illegal instruction core dump when running the docker-compose command above, check for your CPU flags with the command and make sure you see AVX and AVX2. Otherwise, switch to a different VM/desktop with different architecture.

more /proc/cpuinfo | grep flags

If you are running virtualization in Promox, the VM doesn't have the flag enable.

You need to change the CPU type from kvm64 to host under VMs hardware tab.

Hardware > Processors > Edit > Advanced > Type (dropdown menu) > host