* refactor serving file function asset service * Remove PhotoViewer for now since it creates a problem in 2.10 * Added error message for wrong decode file and logo for failed to load file * Fixed error when read stream cannot be created and crash server * Added method to get all assets as a raw array * Implemented cleaner way of grouping image * Implemented operation to delete assets in the database * Implemented delete on database operation * Implemented delete on device operation * Fixed issue display wrong information when the auto backup is enabled after deleting all assets
3 KiB
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
[x] Upload assets(videos/images)
[x] View assets
[x] Quick navigation with drag scroll bar
[x] Auto Backup
[x] Support HEIC/HEIF Backup
[x] Extract and display EXIF info
Development
You can use docker compose for development, there are several services that compose Immich
- NestJs
- PostgreSQL
- Redis
- Nginx
Populate .env file
Navigate to server
directory and run
cp .env.example .env
Then populate the value in there.
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
```bash
docker-compose -f ./server/docker-compose.yml up
To force rebuild node modules after installing new packages
docker-compose -f ./server/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
- Get a MacOS
- Download and setup Flutter development environment
- Navigate to
mobile
folder - Run with release build command for best performance.
flutter run --release
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