Immich - Self-hosted Photo backup solution directly from your mobile phone

Related tags

Templates immich
Overview

IMMICH

Self-hosted Photo backup solution directly from your mobile phone.

Note

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

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

Development

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

  1. The server
  2. PostgreSQL
  3. Redis
  4. Nginx

Populate .env file

Navigate to server directory and run

cp .env.example .env

Then populate the value in there.

To start, run

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": "[email protected]",
    "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

Comments
  • 500 Unexpected token < in JSON at position 0 SyntaxError: Unexpected token < in JSON at position 0

    500 Unexpected token < in JSON at position 0 SyntaxError: Unexpected token < in JSON at position 0

    Running the docker compose thru Portainer, everyting starts up, I can see that ngnix is running at http://xxxx.xxx.xx.xx:2283/

    But get the following issue when trying to access : http://xxxx.xxx.xx.xx:2285/

    500 Unexpected token < in JSON at position 0 SyntaxError: Unexpected token < in JSON at position 0

    in the logs from the web container

    SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at Proxy. (file:///usr/src/app/build/server/index.js:1586:29) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async load (file:///usr/src/app/build/server/entries/pages/index.svelte.js:6:25) at async load_node (file:///usr/src/app/build/server/index.js:1605:14) at async respond$1 (file:///usr/src/app/build/server/index.js:1844:20) at async resolve (file:///usr/src/app/build/server/index.js:2182:105) at async Object.handle (file:///usr/src/app/build/server/chunks/hooks-35f923f5.js:7:12) at async respond (file:///usr/src/app/build/server/index.js:2139:22) at async Array.ssr (file:///usr/src/app/build/handler-edaaddc2.js:841:3)

    Additional context

    Is it me that are doing something wrong here or is it broken?

    bug 
    opened by wavesswe 81
  • OAuth2.0/OIDC implementation

    OAuth2.0/OIDC implementation

    Hi all! I was interested in implementing OAuth2.0/OIDC login in Immich as discussed in #33. I gave it a try and after all I adapted the backend to use OAuth2 in combination with the local authentication that was already implemented; here are the details for now.

    Instructions removed, please take a look at this message for updated instructions


    I've marked this as a draft pull request because I need to work on the mobile app and on the web interface before it's fully working. Before working on that tho, I wanted to discuss with you some topics.

    First of all is the expected behaviour when migrating an already existing instance of Immich to use OAuth2. I was thinking that when an user first access to Immich with a valid OAuth2 access token, his local account would be disabled and he has to continue using the OAuth from that point on. What do you think about that?

    Second is if we should keep the possibility of having both local and OAuth authentication working together at all. I kept them as most separate as possible to be fully flexible, but being very easy to fix I dismissed the problem for later.

    Last one is about the admin account. For what I've seen from latest commits an admin account has been created in order to create new users and while using OAuth2 this function is not needed. Is it planned to have more admin functions so that it does make sense to implement a way of distinguishing admin accounts with OAuth (through scopes for example)?

    Let me know what you think about this ๐Ÿ˜„

    opened by EnricoBilla 50
  • 500 : Converting circular structure to JSON

    500 : Converting circular structure to JSON

    I am trying to run Immich on my Unraid server using the official Portainer-CE app. Once it's set up, I navigate to http://:2283, I see the favicon load and the body of the page shows the following error:

    500
    Converting circular structure to JSON
        --> starting at object with constructor 'Socket'
        |     property '_httpMessage' -> object with constructor 'ClientRequest'
        --- property 'socket' closes the circle
    TypeError: Converting circular structure to JSON
        --> starting at object with constructor 'Socket'
        |     property '_httpMessage' -> object with constructor 'ClientRequest'
        --- property 'socket' closes the circle
    

    docker-compose.yml

    version: "3.8"
    
    services:
      immich-server:
        image: altran1502/immich-server:release
        entrypoint: ["/bin/sh", "./start-server.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - redis
          - database
        restart: always
    
      immich-microservices:
        image: altran1502/immich-server:release
        entrypoint: ["/bin/sh", "./start-microservices.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - redis
          - database
        restart: always
    
      immich-machine-learning:
        image: altran1502/immich-machine-learning:release
        entrypoint: ["/bin/sh", "./entrypoint.sh"]
        volumes:
          - ${UPLOAD_LOCATION}:/usr/src/app/upload
        env_file:
          - .env
        environment:
          - NODE_ENV=production
        depends_on:
          - database
        restart: always
    
      immich-web:
        image: altran1502/immich-web:release
        entrypoint: ["/bin/sh", "./entrypoint.sh"]
        env_file:
          - .env
        restart: always
    
      redis:
        container_name: immich_redis
        image: redis:6.2
        restart: always
    
      database:
        container_name: immich_postgres
        image: postgres:14
        env_file:
          - .env
        environment:
          POSTGRES_PASSWORD: ${DB_PASSWORD}
          POSTGRES_USER: ${DB_USERNAME}
          POSTGRES_DB: ${DB_DATABASE_NAME}
          PG_DATA: /var/lib/postgresql/data
        volumes:
          - pgdata:/var/lib/postgresql/data
        restart: always
    
      immich-proxy:
        container_name: immich_proxy
        image: altran1502/immich-proxy:release
        ports:
          - 2283:80
        logging:
          driver: none
        depends_on:
          - immich-server
        restart: always
    
    volumes:
      pgdata:
    

    .env

    DB_USERNAME=postgres
    DB_PASSWORD=REDACTED
    DB_DATABASE_NAME=immich
    UPLOAD_LOCATION=/mnt/user/cloud-storage/app-configs/immich
    JWT_SECRET=REDACTED
    ENABLE_MAPBOX=false
    VITE_SERVER_ENDPOINT=http://<my-ip>:2283/api
    

    Task List

    Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.

    • [x] I have read thoroughly the README setup and installation instructions.
    • [x] I have included my docker-compose file.
    • [x] I have included my redacted .env file.
    • [x] I have included information on my machine, and environment.
    bug 
    opened by n8jadams 31
  • [BUG] iPhone Backup don't show images

    [BUG] iPhone Backup don't show images

    Describe the bug I installed immich on my wife's iPhone 13 Pro Max. When I started it I gave it "access to all photos" and logged into the server. Now when I click on backup and want to select the folder, I see a loading animation. This animation is still visible even after 2 hours. My wife has over 25000 photos on her phone.

    Task List

    Please complete the task list below. We need this information to help us reproduce the bug or point out problems in your setup. You are not providing enough info may delay our effort to help you.

    • [X] I have read thoroughly the README setup and installation instructions.
    • [ ] I have included my docker-compose file.
    • [ ] I have included my redacted .env file.
    • [X] I have included information on my machine, and environment.

    To Reproduce Steps to reproduce the behavior:

    1. Start the app
    2. Click on cloud right top corner
    3. Click on Select
    4. See error

    Expected behavior Show all albums to select which should be backup

    System

    • Phone OS [iOS]: 15.6.0
    • Server Version: v1.19.0
    • Mobile App Version: 1.19.0
    bug 
    opened by MalteKiefer 29
  • [BUG] Issue Building container docker-compose

    [BUG] Issue Building container docker-compose

    Describe the bug Issue with compose running on 3.8 under docker-composer.yml but in the file if I change it the docker-compose progresses further but still fails (see the 2nd screenshot)

    Task List

    • [x] I have read thoroughly the README setup and installation instructions.

    To Reproduce Steps to reproduce the behavior:

    1. Copy the contents of docker-compose.yml file from immich (code) and paste into a docker-compose.yml file under /var/lib/docker/
    2. Run the line docker-compose -f /var/lib/docker/docker-compose.yml up

    Expected behavior Expecting it to run the build in the container

    Screenshots 2022-06-25 00_05_08-Window 2022-06-25 00_08_27-Window

    Desktop (please complete the following information):

    • OS: Ubuntu 20.04 LTS

    Additional context Add any other context about the problem here.

    bug 
    opened by athornfam2 27
  • Build does not work

    Build does not work

    .env file:

    # STAGE
    NODE_ENV=development
    
    # Database
    DB_USERNAME=postgres
    DB_PASSWORD=postgres
    DB_DATABASE_NAME=immich
    
    # Upload File Config
    UPLOAD_LOCATION=/mnt/data/Immich
    
    # JWT SECRET
    JWT_SECRET=mNQXf1R6S1m7jwvwW82e
    
    # MAPBOX
    ## ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
    ENABLE_MAPBOX=false
    MAPBOX_KEY=
    

    UPLOAD_LOCATION exists:

    root@docker:~/immich/immich-1.4.0-dev# ls -l /mnt/data/Immich/
    total 0
    
    root@docker:~/immich/immich-1.4.0-dev# docker-compose -f ./docker/docker-compose.yml up --build -V
    WARNING: The UPLOAD_LOCATION variable is not set. Defaulting to a blank string.
    WARNING: The DB_PASSWORD variable is not set. Defaulting to a blank string.
    WARNING: The DB_USERNAME variable is not set. Defaulting to a blank string.
    WARNING: The DB_DATABASE_NAME variable is not set. Defaulting to a blank string.
    Building immich_microservices
    ERROR: forbidden path outside the build context: ../microservices/Dockerfile ()
    

    I dont know why the warnings appear, altough a .env file exists and the variables are filled:

    root@docker:~/immich/immich-1.4.0-dev# ls -la docker/.env
    -rw-rw-r-- 1 root root 327 Mar 29 23:44 docker/.env
    
    opened by comfreak89 26
  • Request failed with status code 502

    Request failed with status code 502

    I upgraded to the latest version v1.27.0_37-dev from v1.26.0_36-dev and I received this error when accessing the GUI.

    Any potential troubleshooting steps that I can follow?

    Error code 500
    Request failed with status code 502
    Verbose
    
    Request failed with status code 502,AxiosError,ERR_BAD_RESPONSE,[object Object],[object XMLHttpRequest],[object Object]
    
    bug need triage 
    opened by ajoshuasmith 25
  • [BUG] Can't connect to immich

    [BUG] Can't connect to immich

    Bug Report

    http://ip:2283/api returns error 404

    statusCode: 404
    message "Cannot GET /api"
    error: "Not Found"
    

    http://ip:2283 returns error 500 with the NEW VERSION AVAILABLE screen. further information on the site:

    Local Version empty
    Remote Version v1.19.0_29-dev
    

    and

    500
    
    Converting circular structure to JSON
        --> starting at object with constructor 'ClientRequest'
        |     property 'socket' -> object with constructor 'Socket'
        --- property '_httpMessage' closes the circle
    
    TypeError: Converting circular structure to JSON
        --> starting at object with constructor 'ClientRequest'
        |     property 'socket' -> object with constructor 'Socket'
        --- property '_httpMessage' closes the circle
    
    

    http://ip:2283/api/user/count returns userCount: 0

    http://ip:2283/api/server-info/ping returns res: "pong"

    Related issues

    • #327
      • tag is set to 'release` in my docker-compose file
      • neither adding/removing /api at the end of the url does work
      • port is set to 2283
    • #251 I set the right ip
    • #186 I don't have an /immich/settings folder. Old version?

    Task List

    • [x] I have read thoroughly the README setup and installation instructions.
    • [x] I have included my docker-compose file. (default, currently on github)
    • [x] I have included my redacted .env file. (default, only changed the ip address and folder)
    • [x] I have included information on my machine, and environment.

    To Reproduce ~~Steps to reproduce the behavior:~~ Not sure if it is reproducible. Instead I write down my workflow

    1. navigate into folder
    2. git clone https://github.com/immich-app/immich immich
    3. cd immich
    4. mkdir docker/test
    5. cp docker/.env.example docker/.env
    6. nano docker/.env replace folder path (home/immich/docker/test) and ip address
    7. docker-compose -f ./docker/docker-compose.yml up
    8. open firefox and type in http://ip:2283/api (and others specified above)
    9. open immich on android 12 but it opens directly the login screen but I do not yet have an (admin) account.

    Additional context

    • default docker-compose file
    • default .env file with updated folder path and ip address:
    ##################################################################################
    # Database
    ###################################################################################
    
    DB_HOSTNAME=immich_postgres
    DB_USERNAME=postgres
    DB_PASSWORD=postgres
    DB_DATABASE_NAME=immich
    
    # Optional Database settings:
    # DB_PORT=5432
    
    
    
    
    ###################################################################################
    # Redis
    ###################################################################################
    
    REDIS_HOSTNAME=immich_redis
    
    # Optional Redis settings:
    # REDIS_PORT=6379
    # REDIS_DBINDEX=0
    # REDIS_PASSWORD=
    # REDIS_SOCKET=
    
    
    
    
    
    ###################################################################################
    # Upload File Config
    ###################################################################################
    
    UPLOAD_LOCATION=/home/immich/docker/test
    
    
    
    
    ###################################################################################
    # JWT SECRET
    ###################################################################################
    
    JWT_SECRET=randomstringthatissolongandpowerfulthatnoonecanguess
    
    
    
    ###################################################################################
    # MAPBOX
    ####################################################################################
    
    # ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
    ENABLE_MAPBOX=false
    MAPBOX_KEY=
    
    
    
    
    ###################################################################################
    # WEB - Required
    ###################################################################################
    
    # This is the URL of your vm/server where you host Immich, so that the web frontend
    # know where can it make the request to.
    # For example: If your server IP address is 10.1.11.50, the environment variable will
    # be VITE_SERVER_ENDPOINT=http://10.1.11.50:2283/api
    # !CAUTION! THERE IS NO FORWARD SLASH AT THE END
    
    VITE_SERVER_ENDPOINT=http://10.1.11.50:2283/api
    
    
    ####################################################################################
    # WEB - Optional
    ####################################################################################
    
    # Custom message on the login page, should be written in HTML form.
    # For example VITE_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>[email protected]</i><br>Passwo>
    
    VITE_LOGIN_PAGE_MESSAGE=
    
    

    where 10.1.11.50 is replaced with my local ip

    bug need triage 
    opened by basings 23
  • immich-microservices Container pinning CPU at 100%

    immich-microservices Container pinning CPU at 100%

    Describe the bug After backing up all photos from my phone, the Microservices container runs at 100% CPU. RAM usage is negligible. The photo library is only 34 images, and the CPU is still pinned 14 hours after initial sync.

    Task List Running in a VM on Proxmox, one of many other docker apps running. Photos are synced to a directory on my NAS (seperate device). CPU is a Interl J4205 (4 cores) and 6GB RAM has been allocated.

    To Reproduce Unknown

    Desktop (please complete the following information):

    • OS: Ubuntu 22.04 LTS + Docker
    bug 
    opened by darrylgibbs 23
  • [Feature]: Running Immich behind a Reverse-Proxy configured with a Self-signed-certificate

    [Feature]: Running Immich behind a Reverse-Proxy configured with a Self-signed-certificate

    Feature detail

    I run a standard Nginx-Reverse-Proxy with a self-signed-certificate. So I can access the service with a subdomain like https://immich.example.local If I set VITE_SERVER_ENDPOINT=https://immich.example.local/api the Web-Container complains, that it can't reach the resource because of the self-signed-certificate. If I set VITE_SERVER_ENDPOINT=http://immich-proxy:2283/api I get messages in the developer-console saying: Blocked loading mixed active content โ€œhttp://immich-proxy:2283/api/asset".

    Would be great if Immich could be run behind a custom reverse-proxy. Running latest docker on Ubuntu 20.04. And thanks for the great work on this one! Seems that Immich could be the missing piece in the selfhosting photo-puzzle.

    Platform

    Web

    feature 
    opened by CKranebitter 21
  • [BUG] Empty mobile page when uploading from web only

    [BUG] Empty mobile page when uploading from web only

    Describe the bug I setup an immich instance and started uploading straight from the web version (about a hundred pics). However, when I open the android app to see my content, the page is empty. I can see the pictures in the Search tab when I look for detected objects. But the main page is just blank.

    I tried setting up another instance, same issue if you start uploading from web only. (I also tried reinstalling the android app)

    Task List

    • [X] I have read thoroughly the README setup and installation instructions.
    • [x] If my setup is different, I have included my docker-compose file.
    • [x] I have included my redacted .env file.
    • [X] I have included information on my machine, and environment.

    To Reproduce Steps to reproduce the behavior:

    1. Setup immich following the README steps
    2. Start uploading from the web version only
    3. Open the android app to see your uploaded content

    Expected behavior The web uploaded pictures shows up on the Android app.

    Desktop (please complete the following information):

    • OS: Ubuntu 20.04
    • Version: 1.17.0_25-dev

    Smartphone (please complete the following information):

    • Device: Mi 11
    • OS: CherishOS 3.9
    • Version: 1.17.0 build.25
    bug 
    opened by Eidenz 21
  • Add search functionality to add photo to album modal

    Add search functionality to add photo to album modal

    This PR adds the feature of #1008. As I thought the existing mockup made sense, I used it for the implementation. Please feel free to comment if you have any improvement suggestions.

    opened by klejejs 1
  • [Feature]: Free text image search using CLIP features

    [Feature]: Free text image search using CLIP features

    Feature detail

    I've seen that currently work is done in Immich to implement image search. If this search system is based on "fixed" tags/labeling it might be worth looking into CLIP embeddings. I tried the CLIP embedding approach on my photo collection and it was vastly superior in retrieving images compared to any class-output-based (like the 1000 ImageNet classes) neural network that I tried.

    How it works

    The idea behind the embeddings is that there are two different neural networks that transform the input in a common "semantic" space (where related concepts are positioned closely together in that space):

    • text -> CLIP embedding space
    • images -> CLIP embedding space

    The CLIP embeddings for the photos can be precomputed once. The "text -> CLIP embedding" model has to be run every time the user enters a search query. Through a standard nearest-neighbor search inside the CLIP space we can retrieve the most related photos to a given search query.

    This idea has been discussed for PhotoPrism before. The code I used on my photo collection was derived from the example given there (otherwise a minimal example is also provided here).

    Advantage compared to class-based image search

    The advantage of this approach is that you can also successfully search for more complicated queries like "three people" or "a person wearing a hat next to a dog". With queries like this, I was able to accurately find any specific photo within the five nearest-neighbors results in a database of 5000 images usually with the first query that came to mind.

    If you were already aware of this approach feel free to close this issue (I haven't seen it discussed on this repo before though) - I'm just hoping to spread awareness about it.

    Platform

    Server

    feature need triage 
    opened by TheStealthReporter 4
  • [Feature]: Android TV app/interface

    [Feature]: Android TV app/interface

    Feature detail

    As suggested by @alextran1502 in #1182 I am opening this issue to keep track of the idea of having a Android TV app or some sort of interface to be able to view immich photos/albums on a TV.

    Platform

    Web

    feature 
    opened by jagjordi 2
  • feat(web/server) public album sharing

    feat(web/server) public album sharing

    Overview

    This PR add the public sharing functionality for album, resolve #265. Public sharing for individual files will be added in the subsequent PR to reduce the number of files that needs to be reviewed. image

    Some highlight mechanisms

    • User can create multiple shared links from an album with different expiration time

    • Shared link can be set to allow upload from the public user

    • Shared link can have an optional description image

    • User can manage/revoke shared links image

    Security mechanism

    • The shared link id is a combination of 35 bytes (70 characters long) ccca2fe1ffce4e054714f1f84764f73902769830e76cda4b6121bbaa9158d5ebfe6de6
    • Each shared link comes with a key of 25 bytes (50 characters long) that is used to perform view/download/upload operation in the shared album. 35dd0bf3dd5593be9568e1d065291fca54d765a7b38d1046d8
    • Each endpoint that is allowed public usage will check for the shared link allowable actions such as upload, or add to an album.
    • Only endpoints with the decorator @Authenticated({ isShared: true }) will only evaluate the key params, otherwise, would reject the requests.

    Database relationship

    image

    • This database design allows an album can have multiple shared links and an asset can be in multiple shared links

    TODO

    • [ ] Add edit share link mechanism.
    • [ ] Download individual asset from the public sharing view.
    • [ ] Add copy link button to the shared link management page
    opened by alextran1502 2
  • Auditing of user sign-ins

    Auditing of user sign-ins

    Feature detail

    When a user logs in, their username and date they signed in is logged and displayed on the administration page. There should be an option to include other info like location of sign in. Maybe the admin can get an email notifying them when the server is being accessed from a new location.

    Platform

    Server

    feature need triage 
    opened by ElijaRock 1
Releases(v1.40.1_63-dev)
  • v1.40.1_63-dev(Dec 29, 2022)

    Hot Fixes

    • fix(server) Cannot change first-time password due to null value in first and last name payload from the mobile app by @alextran1502 in https://github.com/immich-app/immich/pull/1205

    What's Changed

    • feat(server,web): update email address by @jrasm91 in https://github.com/immich-app/immich/pull/1186
    • chore(server): fix unit test by @jrasm91 in https://github.com/immich-app/immich/pull/1194
    • Fixed translations and added missing by @DVerdeV in https://github.com/immich-app/immich/pull/1201
    • chore(docs) Add link to releases by @PopsicleSnow in https://github.com/immich-app/immich/pull/1195

    New Contributors

    • @DVerdeV made their first contribution in https://github.com/immich-app/immich/pull/1201
    • @PopsicleSnow made their first contribution in https://github.com/immich-app/immich/pull/1195

    Full Changelog: https://github.com/immich-app/immich/compare/v1.40.0_63-dev...v1.40.1_63-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.40.0_63-dev(Dec 27, 2022)

    v1.40.0_63-dev

    This release aims to improve the mobile UX and add a new feature to link/unlink OAuth accounts.

    What's Changed

    Server/Web

    • feat(web,server): link/unlink OAuth account by @jrasm91 in https://github.com/immich-app/immich/pull/1154
    • feat(web): user profile by @jrasm91 in https://github.com/immich-app/immich/pull/1148
    • feat(web) using template filename for downloaded file by @alextran1502 in https://github.com/immich-app/immich/pull/1164
    • feat(server): extend JWTexpiration by @jrasm91 in https://github.com/immich-app/immich/pull/1187
    • chore(web): linting by @jrasm91 in https://github.com/immich-app/immich/pull/1152
    • chore(server): increase OAuth timeout by @jrasm91 in https://github.com/immich-app/immich/pull/1155
    • chore(server) Make user business logic reusable by @jbaez in https://github.com/immich-app/immich/pull/1114
    • chore(server): drop salt column by @jrasm91 in https://github.com/immich-app/immich/pull/1185
    • test(server): change password by @jrasm91 in https://github.com/immich-app/immich/pull/1177
    • fix(server): utf8 original filename by @jrasm91 in https://github.com/immich-app/immich/pull/1147
    • chore(server) Increase cache-control time by @alextran1502 in https://github.com/immich-app/immich/pull/1189

    Mobile

    • feat(mobile): autofill login form by @EnricoBilla in https://github.com/immich-app/immich/pull/1128
    • feat(mobile) delete button in detail viewer by @alextran1502 in https://github.com/immich-app/immich/pull/1165
    • fix(mobile) Disable autocorrection on endpoint URL by @alextran1502 in https://github.com/immich-app/immich/pull/1166
    • fix(mobile) notification android 13 by @alextran1502 in https://github.com/immich-app/immich/pull/1175
    • fix(mobile) minor typo by @IdeallyGrey in https://github.com/immich-app/immich/pull/1181

    Documentation

    • Update instructions for Unraid by @MattFaz in https://github.com/immich-app/immich/pull/1131
    • Refer to the docs by @bt90 in https://github.com/immich-app/immich/pull/1136
    • Improve TensorFlow docs by @bt90 in https://github.com/immich-app/immich/pull/1138
    • Refactor pages by @jrasm91 in https://github.com/immich-app/immich/pull/1144
    • Fix build errors by @jrasm91 in https://github.com/immich-app/immich/pull/1156
    • FAQs and more pages by @jrasm91 in https://github.com/immich-app/immich/pull/1160
    • Revamp landing page by @alextran1502 in https://github.com/immich-app/immich/pull/1161

    Other

    • fix(deployment) suppress warning of empty environment variable by @alextran1502 in https://github.com/immich-app/immich/pull/1168

    New Contributors

    • @EnricoBilla made their first contribution in https://github.com/immich-app/immich/pull/1128
    • @bt90 made their first contribution in https://github.com/immich-app/immich/pull/1136
    • @IdeallyGrey made their first contribution in https://github.com/immich-app/immich/pull/1178

    Full Changelog: https://github.com/immich-app/immich/compare/v1.39.0_61-dev...v1.40.0-dev

    Source code(tar.gz)
    Source code(zip)
    v1.40.0_63-dev.apk(54.52 MB)
  • v1.39.0_61-dev(Dec 19, 2022)

    Christmas Special Release ๐ŸŽ

    Happy holiday! I am excited to bring you this release, it accomplishes one of the most wanted features since the early day of the application

    User-defined storage structure of uploaded files.

    We provide an interface on the web so that the admin can build out the structure of the file's layout. The interactive builder template would help you see what the final structure would look like.

    image

    Along with that feature, we add a migration mechanism, allowing migrate all your files from the legacy structure of Immich to the new template layout and also allowing migration between template changes. So if the template you set now doesn't work in the future, you can always change to the new one.

    The default template layout is YEAR/YEAR-MONTH-DAY/FILENAME.EXT You can add custom text as well as using the variable we provided for the template.

    I hope you enjoy this feature as much as I do, and I hope Immich is one step closer to being a solution to store photos and videos from your mobile device.

    ๐ŸŽ‰ Cheer! ๐ŸŽ‰

    Support

    If you find the project helpful and it helps you in some ways, you can support the project one time or monthly from GitHub Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • fix(mobile) invalid date in EXIF caused the timeline to crash by @alextran1502 in https://github.com/immich-app/immich/pull/1095
    • chore(mobile) Slovak and Czech language added by @PeterBasista in https://github.com/immich-app/immich/pull/1099
    • chore() Fix typo and update notification wording by @HcNguyen111 in https://github.com/immich-app/immich/pull/1100
    • feat(server) user-defined storage structure by @alextran1502 in https://github.com/immich-app/immich/pull/1098
    • chore(web) update SvelteKit to 1.0.0 by @alextran1502 in https://github.com/immich-app/immich/pull/1110
    • chore(mobile) Date format change for SK/CZ translation by @PeterBasista in https://github.com/immich-app/immich/pull/1113
    • feat(web) add user setting page by @alextran1502 in https://github.com/immich-app/immich/pull/1115
    • chore(server) Add job for storage migration by @alextran1502 in https://github.com/immich-app/immich/pull/1117

    New Contributors

    • @PeterBasista made their first contribution in https://github.com/immich-app/immich/pull/1099
    • @HcNguyen111 made their first contribution in https://github.com/immich-app/immich/pull/1100

    Full Changelog: https://github.com/immich-app/immich/compare/v1.38.2_60-dev...v1.39.0_61-dev

    Source code(tar.gz)
    Source code(zip)
    v1.39.0_61-dev.apk(54.47 MB)
  • v1.38.2_60-dev(Dec 11, 2022)

    v1.38.2_60-dev

    Hot Fixes

    • fix(server): Fix error not able to see asset added by shared user in shared album by @matthinc in https://github.com/immich-app/immich/pull/1094

    Full Changelog: https://github.com/immich-app/immich/compare/v1.38.1_60-dev...v1.38.2_60-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.38.1_60-dev(Dec 11, 2022)

    Hot Fixes

    • Fix(server) fix cannot change user password from mobile app due to first, and last name property doesn't get passed from the app by @alextran1502 in https://github.com/immich-app/immich/pull/1085
    • Fix(server) Microservice didn't trigger to remove user by @alextran1502 in https://github.com/immich-app/immich/pull/1090

    Full Changelog: https://github.com/immich-app/immich/compare/v1.38.0_60-dev...v1.38.1_60-dev

    Source code(tar.gz)
    Source code(zip)
    v1.38.1_60-dev.apk(54.42 MB)
  • v1.38.0_60-dev(Dec 10, 2022)

    v1.38.0_60-dev

    โš ๏ธ Breaking Changes

    • OAuth setting is now moved to the admin interface. The current values in the .env will no longer have effects. You will have to sign in to the admin account and update the information on the web interface to restore the OAuth implementation.
    • We've also made some changes to the setting interface on the server, so the current setting saved in the database will be wiped. Specifically, the old FFmpeg's setting. Please make sure to set it again on the web interface.
    Screenshot 2022-12-09 at 21 40 37

    Highlight

    • Thanks, @zoodyy, for further improving the background backup functionality on the mobile app and also improving the data usage on loading photos and videos.
    • Thanks, @jrasm91, for being a trailblazer in many of the new features/bug fixes and improving the overall quality of the code base.
    • We've laid the foundation for a tagging system in the release. The upcoming release will include the integration of such a system into the app and the overhaul of the search functionality on both the web and mobile.

    Support

    If you find the project helpful and it helps you in some ways, you can support the project one time or monthly from GitHub Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • fix(mobile): Start up from splash screen does not trigger foreground backup by @alextran1502 in https://github.com/immich-app/immich/pull/1042
    • feat(mobile): configure detail viewer asset loading by @zoodyy in https://github.com/immich-app/immich/pull/1044
    • feat(server): link via profile.sub by @jrasm91 in https://github.com/immich-app/immich/pull/1055
    • feat(mobile): enable zoom of preview images & reuse cached thumbnails by @zoodyy in https://github.com/immich-app/immich/pull/1049
    • chore(): add Chinese README file by @chen3stones in https://github.com/immich-app/immich/pull/1058
    • feat(web): Localize dates and numbers by @Mortein in https://github.com/immich-app/immich/pull/1056
    • feat(server): Per user asset access control by @matthinc in https://github.com/immich-app/immich/pull/993
    • fix(web) fix test by @alextran1502 in https://github.com/immich-app/immich/pull/1059
    • feat(server) Tagging system by @alextran1502 in https://github.com/immich-app/immich/pull/1046
    • fix(server) fix correct MIME type for Nikon NEF by @alextran1502 in https://github.com/immich-app/immich/pull/1060
    • fix(server) added TagResponseDto for TagController by @alextran1502 in https://github.com/immich-app/immich/pull/1065
    • chore(web) Update SvelteKit by @alextran1502 in https://github.com/immich-app/immich/pull/1066
    • Add generated openapi docs to website by @bo0tzz in https://github.com/immich-app/immich/pull/1067
    • feat(mobile): configurable background backup delay by @zoodyy in https://github.com/immich-app/immich/pull/1068
    • refactor(server): server version logging by @jrasm91 in https://github.com/immich-app/immich/pull/1073
    • Move Unraid guide into Immich repo by @Mattyfaz in https://github.com/immich-app/immich/pull/1074
    • refactor(server): device info service by @jrasm91 in https://github.com/immich-app/immich/pull/1071
    • feat(server,web): migrate oauth settings from env to system config by @jrasm91 in https://github.com/immich-app/immich/pull/1061
    • fix(server): link 'immich' by @jrasm91 in https://github.com/immich-app/immich/pull/1080
    • fix(server): require local admin account by @jrasm91 in https://github.com/immich-app/immich/pull/1070
    • docs: server commands by @jrasm91 in https://github.com/immich-app/immich/pull/1079
    • chore(docs): spelling by @jrasm91 in https://github.com/immich-app/immich/pull/1081
    • fix(server): unique email database constraint by @jrasm91 in https://github.com/immich-app/immich/pull/1082

    New Contributors

    • @chen3stones made their first contribution in https://github.com/immich-app/immich/pull/1058
    • @Mattyfaz made their first contribution in https://github.com/immich-app/immich/pull/1074

    Full Changelog: https://github.com/immich-app/immich/compare/v1.37.0_58-dev...v1.38.0_60-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.37.0_58-dev(Nov 30, 2022)

    v1.37.0_58-dev

    This release focus on

    • Optimized app data usage
    • Improved usability and user interface

    What's Changed

    • feat(server,web,mobile): Use binary prefixes for data sizes by @Mortein in https://github.com/immich-app/immich/pull/1009
    • fix(mobile): Fix not able to show device asset on Android 13 by @alextran1502 in https://github.com/immich-app/immich/pull/1016
    • Fix(web) navbar color overlap and scroll bar incorrect z index by @denck007 in https://github.com/immich-app/immich/pull/1018
    • feat(mobile): use cached asset info if unchanged instead of downloading all assets by @zoodyy in https://github.com/immich-app/immich/pull/1017
    • fix(server): Prevent delete admin user by @alextran1502 in https://github.com/immich-app/immich/pull/1023
    • feat(mobile) Add in app logging to show app's log information by @alextran1502 in https://github.com/immich-app/immich/pull/1014
    • fix(mobile): fix cache invalidation on logout by @zoodyy in https://github.com/immich-app/immich/pull/1030
    • chore(mobile): improve CSV log export by @zoodyy in https://github.com/immich-app/immich/pull/1032
    • chore(mobile) Improve readability of logs page by @alextran1502 in https://github.com/immich-app/immich/pull/1033
    • feat(server,web,mobile): activate ETags for all API endpoints and asset serving by @zoodyy in https://github.com/immich-app/immich/pull/1031
    • chore(mobile) Improve mobile UI by @alextran1502 in https://github.com/immich-app/immich/pull/1038

    New Contributors

    • @denck007 made their first contribution in https://github.com/immich-app/immich/pull/1018

    Full Changelog: https://github.com/immich-app/immich/compare/v1.36.2_56-dev...v1.37.0_58-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.36.2_56-dev(Nov 22, 2022)

    What's Changed

    • fix(mobile): freeze on splash screen due to accessing bad state by @alextran1502 in https://github.com/immich-app/immich/pull/998
    • chore(mobile): clean up linter problems by @alextran1502 in https://github.com/immich-app/immich/pull/1000
    • fix(server): Deleted shared users cause a problem with album retrieval and creation by @alextran1502 in https://github.com/immich-app/immich/pull/1002

    Full Changelog: https://github.com/immich-app/immich/compare/v1.36.1_55-dev...v1.36.2_56-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.36.1_55-dev(Nov 21, 2022)

    Hotfix

    • fix(server): Admin user not created by @alextran1502 in https://github.com/immich-app/immich/pull/996

    Full Changelog: https://github.com/immich-app/immich/compare/v1.36.0_55-dev...v1.36.1_55-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.36.0_55-dev(Nov 20, 2022)

    v1.36.0_55-dev

    ๐ŸŽ‰ Highlight ๐ŸŽ‰

    โš ๏ธ LivePhotos iOS Support (breaking change)

    LivePhotos on iOS is now supported in Immich. The motion part will now be uploaded and played on the mobile app and the web.

    โš ๏ธ BREAKING: You will have to update the app and the server to version 1.36 for the application to work correctly โš ๏ธ BREAKING: You will have to remove and re-upload photos that you want to persist the LivePhotos functionality to the server. Existing assets that were uploaded don't have the motion part of the LivePhotos

    Web Interaction - Hover

    https://user-images.githubusercontent.com/27055614/202816753-0b0eb201-1747-4fef-8b31-ce380a851bbc.mov

    Web Interaction - Play

    https://user-images.githubusercontent.com/27055614/202816825-63ab1ca1-8b08-4bdc-8dff-2dc802c847e7.mov

    Mobile Interaction

    https://user-images.githubusercontent.com/27055614/202816953-42321a01-8906-481f-ac5e-7e5601ed1774.mov

    Oauth Integration

    I want to borrow this chance to express my gratitude to @EnricoBilla, who has been the trailblazer for this feature since the beginning days of Immich. His PR has sparked ideas, suggestions, and discussion among the team member on how to integrate this feature successfully into the app. Thank you so much for your work and your time.

    OAuth is now integrated into the system. Please follow the guide here to set up your OAuth integration

    After setting up the correct environment variables, as shown here

    image

    The web will have the option to sign in with OAuth, and the mobile app will check if the server has OAuth enabled before displaying the OAuth sign-in button.

    image

    https://user-images.githubusercontent.com/27055614/202923737-6a102b3f-2c97-41d8-9839-14ad38f4bbf0.mp4

    Support

    If you find the project helpful and it helps you in some ways, you can support the project one time or monthly from GitHub Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • feat(deployment) Allow overriding service host and ports with env variable by @ViViDboarder in https://github.com/immich-app/immich/pull/930
    • fix(web): broken unit tests by @jrasm91 in https://github.com/immich-app/immich/pull/947
    • typo(android-feature-note): Reserve geocoding -> Reverse geocoding by @jaller94 in https://github.com/immich-app/immich/pull/946
    • build(server): use github-action cache by @jrasm91 in https://github.com/immich-app/immich/pull/949
    • Small docs site tweaks by @bo0tzz in https://github.com/immich-app/immich/pull/954
    • build(server): refactor multistage builds by @jrasm91 in https://github.com/immich-app/immich/pull/955
    • refactor(mobile): tidy-up dependencies, remove unused, replace rarely used ones by @zoodyy in https://github.com/immich-app/immich/pull/948
    • feat(ci): Push images to GitHub Container Registry by @onedr0p in https://github.com/immich-app/immich/pull/964
    • feat(server,web): OIDC Implementation by @jrasm91 in https://github.com/immich-app/immich/pull/884
    • feat(server,web): system config for admin by @zackpollard and @jrasm91 in https://github.com/immich-app/immich/pull/959
    • feat(server): multi archive downloads by @jrasm91 in https://github.com/immich-app/immich/pull/956
    • Update Korean translation with the latest version. by @hismethod in https://github.com/immich-app/immich/pull/971
    • chore(web,mobile): update github repo url by @jrasm91 in https://github.com/immich-app/immich/pull/974
    • Web: Disallow all robots by @Mortein in https://github.com/immich-app/immich/pull/977
    • chore(server) refactor serveFile and downloadFile endpoint by @alextran1502 in https://github.com/immich-app/immich/pull/978
    • Add navbar button to copy image by @bo0tzz in https://github.com/immich-app/immich/pull/961
    • web(feat): Add support for actions when clicking notifications by @bo0tzz in https://github.com/immich-app/immich/pull/966
    • Update contribution-guidelines.md by @bdr99 in https://github.com/immich-app/immich/pull/985
    • feat: support iOS LivePhoto backup by @alextran1502 in https://github.com/immich-app/immich/pull/950
    • feat(mobile) Add OAuth Login On Mobile by @alextran1502 in https://github.com/immich-app/immich/pull/990
    • fix(server): Server freezes when getting statistic by @alextran1502 in https://github.com/immich-app/immich/pull/994

    New Contributors

    • @ViViDboarder made their first contribution in https://github.com/immich-app/immich/pull/930
    • @jaller94 made their first contribution in https://github.com/immich-app/immich/pull/946
    • @onedr0p made their first contribution in https://github.com/immich-app/immich/pull/964
    • @Mortein made their first contribution in https://github.com/immich-app/immich/pull/977
    • @bdr99 made their first contribution in https://github.com/immich-app/immich/pull/985

    Full Changelog: https://github.com/immich-app/immich/compare/v1.35.0_54-dev...v1.36.0_55-dev

    Source code(tar.gz)
    Source code(zip)
    v1.36.0_55-dev.apk(54.22 MB)
  • v1.35.0_54-dev(Nov 8, 2022)

    v1.35.0_54-dev

    ๐ŸŽ‰ Highlight ๐ŸŽ‰

    Local assets are now shown in the app

    This is a stepping stone in making the app work offline. @zoodyy has taken the lead in the implementation of this feature.

    The app can now show the local assets of the selected album. Three icons are used to indicate the different states of the asset in the app.

    image

    User can now be deleted

    image

    The user can now be deleted from the server by the Admin, thanks to @zkhan93. The action will mark the user to be officially deleted after 7-day along with their photos and videos. During this period, the admin can restore the user.

    Please use this feature responsibly concerning the people who use your instance to store their precious moments.
    

    Documentation site

    Please visit our new documentation site and let us know if you have any feedback. The site is located at https://immich.app

    Thank you

    I want to thank all who have supported the project and have spent time testing and communicating with new users. I cannot do this without your guys help! From the bottom of my heart, you guys are always in my thought.

    Support

    If you find the project helpful and it helps you in some ways, you can support the project one time or monthly from GitHub Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • feat(server, web): Delete and restore user from the admin portal by @zkhan93 in https://github.com/immich-app/immich/pull/935
    • fix(server): increase JSON body payload limit by @jrasm91 in https://github.com/immich-app/immich/pull/941
    • feat(web): favorite an asset by @jrasm91 in https://github.com/immich-app/immich/pull/939
    • feat(mobile): show local assets by @zoodyy in https://github.com/immich-app/immich/pull/905
    • Fix (mobile): Fix crash when opening local assets in albums by @matthinc in https://github.com/immich-app/immich/pull/943

    Full Changelog: https://github.com/immich-app/immich/compare/v1.34.0_53-dev...v1.35.0_54-dev

    Source code(tar.gz)
    Source code(zip)
    v1.35.0_54-dev.apk(54.37 MB)
  • v1.34.0_53-dev(Nov 7, 2022)

    v1.34.0_53-dev

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    Web

    • fix(web) getting asset with available thumbnail when getting asset count by time bucket by @alextran1502 in https://github.com/immich-app/immich/pull/900
    • feat(web): add a delete button to asset viewer by @anbraten in https://github.com/immich-app/immich/pull/896
    • feat(server/web): download entire album as zip archive by @zoodyy in https://github.com/immich-app/immich/pull/897
    • feat(web): add mechanism to add current view asset to an album by @jrasm91 in https://github.com/immich-app/immich/pull/923
    • chore(web): Modified styling for add to album panel by @alextran1502 in https://github.com/immich-app/immich/pull/924
    • fix(web): album download progress bar by @jrasm91 in https://github.com/immich-app/immich/pull/925
    • feat(web): add selected asset on the main timeline to album from selection by @jrasm91 in https://github.com/immich-app/immich/pull/926

    Mobile

    • fix(mobile) reduce app startup time by loading Hive boxes in parallel by @zoodyy in https://github.com/immich-app/immich/pull/906
    • fix(mobile): throttle detail progress notifications & wait on foregroundInfo by @zoodyy in https://github.com/immich-app/immich/pull/907
    • fix(mobile): throttle all background backup progress notifications by @zoodyy in https://github.com/immich-app/immich/pull/908
    • feat(mobile): Add selected assets to album by @matthinc in https://github.com/immich-app/immich/pull/901
    • feat(mobile): Enhanced vertical swiping motion in image viewer by @alextran1502 in https://github.com/immich-app/immich/pull/932
    • feat(mobile) Enhance the bottom app bar on the home page by @alextran1502 in https://github.com/immich-app/immich/pull/934

    Server

    • fix(server): download album error handling by @jrasm91 in https://github.com/immich-app/immich/pull/917
    • test(server): add more the tests by @jrasm91 in https://github.com/immich-app/immich/pull/911
    • fix(server): harden auto pick album thumbnails (#918) by @jrasm91 in https://github.com/immich-app/immich/pull/918
    • feat(server): reset admin password using CLI command in the server container by @jrasm91 in https://github.com/immich-app/immich/pull/928

    Others

    • doc/update overview section by @alextran1502 in https://github.com/immich-app/immich/pull/904
    • docs/installation by @alextran1502 in https://github.com/immich-app/immich/pull/912
    • doc: Add content for usage section by @alextran1502 in https://github.com/immich-app/immich/pull/922
    • chore: Update repo readme by @alextran1502 in https://github.com/immich-app/immich/pull/927
    • Grammar and syntax edits for the new docs by @Coyote6705 in https://github.com/immich-app/immich/pull/936

    New Contributors

    • @anbraten made their first contribution in https://github.com/immich-app/immich/pull/896
    • @Coyote6705 made their first contribution in https://github.com/immich-app/immich/pull/936

    Full Changelog: https://github.com/immich-app/immich/compare/v1.33.1_52-dev...v1.34.0_53-dev

    Source code(tar.gz)
    Source code(zip)
    v1.34.0_53-dev.apk(54.29 MB)
  • v1.33.1_52-dev(Oct 29, 2022)

    v1.33.1_52-dev

    This release includes bug fixes for web and server. There is no mobile release for this version.

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • chore(server) revert Dockerfile by @alextran1502 in https://github.com/immich-app/immich/pull/878
    • feat(app) add documentation site template by @alextran1502 in https://github.com/immich-app/immich/pull/879
    • refactor(server): merge auth guards to authentication guard (#877) by @jrasm91 in https://github.com/immich-app/immich/pull/877
    • feat(server) Extend PUT /album/:id/assets endpoint (#857) by @matthinc in https://github.com/immich-app/immich/pull/857
    • fix(web) prevent create multiple user when the instance is lagging by @alextran1502 in https://github.com/immich-app/immich/pull/882
    • feat(web) add handler for ctrl-c copying images from viewer (#881) by @bo0tzz in https://github.com/immich-app/immich/pull/881
    • feat(server) add docker debug config for server by @jrasm91 in https://github.com/immich-app/immich/pull/883
    • fix(web) video keep playing when mouse is not over video by @alextran1502 in https://github.com/immich-app/immich/pull/885
    • feat(web) Make "no albums" card clickable (#888) by @bo0tzz in https://github.com/immich-app/immich/pull/888
    • fix(web) date group hover not trigger correctly by @alextran1502 in https://github.com/immich-app/immich/pull/892

    New Contributors

    • @jrasm91 made their first contribution in https://github.com/immich-app/immich/pull/877

    Full Changelog: https://github.com/immich-app/immich/compare/v1.33.0_52-dev...v1.33.1_53-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.33.0_52-dev(Oct 26, 2022)

    v1.33.0_52-dev

    Dark mode for web

    A lot of us are blinded by the light theme of Immich's web - worry not, the savior is here. Introducing beautiful dark mode for Immich on the web

    image

    Server Statistic

    We are now have the server statistic to show the total number of videos, photos and usage per user thanks to @zkhan93

    image

    Additional, we have resolved and fixed many bugs in this release as well. See the change list below for more detail

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    What's Changed

    • feat(server)Log username and IP address on failed login attempt by @bo0tzz in https://github.com/immich-app/immich/pull/732
    • fix(mobile) back button navigation Android by @zkhan93 in https://github.com/immich-app/immich/pull/841
    • fix(server): force best effort to decode thumbnail image by @alextran1502 in https://github.com/immich-app/immich/pull/847
    • feat(web) add asset count stats on admin page (#843) by @zkhan93 in https://github.com/immich-app/immich/pull/843
    • fix(server): add permission for server stats api by @alextran1502 in https://github.com/immich-app/immich/pull/854
    • chore(server) add workflow dispatcher to sdk repository by @alextran1502 in https://github.com/immich-app/immich/pull/859
    • fix(mobile) not possible to sign out when option is enable by @alextran1502 in https://github.com/immich-app/immich/pull/860
    • feat(server) use ubuntu base-image by @PixelJonas in https://github.com/immich-app/immich/pull/851
    • feat(mobile) duplicated asset upload handling mechanism by @alextran1502 in https://github.com/immich-app/immich/pull/853
    • feat(docker) revert ubuntu base image by @PixelJonas in https://github.com/immich-app/immich/pull/863
    • feat(web) styling server stats page by @alextran1502 in https://github.com/immich-app/immich/pull/866
    • feat(web) dark mode by @alextran1502 in https://github.com/immich-app/immich/pull/867

    Full Changelog: https://github.com/immich-app/immich/compare/v1.32.1_51-dev...v1.33.0_52-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.32.1_51-dev(Oct 20, 2022)

    What's Changed

    • chore(deps): bump docker/setup-buildx-action from 2.1.0 to 2.2.1 by @dependabot in https://github.com/immich-app/immich/pull/839
    • fix(mobile) back button navigation Android by @zkhan93 in https://github.com/immich-app/immich/pull/837
    • feat(mobile): Cache assets and albums for faster loading speed by @matthinc in https://github.com/immich-app/immich/pull/826

    New Contributors

    • @zkhan93 made their first contribution in https://github.com/immich-app/immich/pull/837

    Full Changelog: https://github.com/immich-app/immich/compare/v1.32.0_50-dev...v1.32.1_51-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.32.0_50-dev(Oct 14, 2022)

    What's Changed

    • chore(repo): Typo/minor cosmetics in README.md by @EvilOlaf in https://github.com/immich-app/immich/pull/801
    • feat(server): Remove default JWT_SECRET value in .env by @bo0tzz in https://github.com/immich-app/immich/pull/810
    • chore(deps): bump docker/setup-buildx-action from 2.0.0 to 2.1.0 by @dependabot in https://github.com/immich-app/immich/pull/815
    • chore(deps): bump docker/build-push-action from 3.1.1 to 3.2.0 by @dependabot in https://github.com/immich-app/immich/pull/816
    • chore(deps): bump docker/setup-qemu-action from 2.0.0 to 2.1.0 by @dependabot in https://github.com/immich-app/immich/pull/820
    • feat(server): Log a warning if JWT_SECRET key does not have enough bits by @bo0tzz in https://github.com/immich-app/immich/pull/821
    • feat(mobile) integrate new grid system to upstream by @matthinc in https://github.com/immich-app/immich/pull/762
    • feat(mobile) Cosmetic update by @alextran1502 in https://github.com/immich-app/immich/pull/824

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    New Contributors

    • @EvilOlaf made their first contribution in https://github.com/immich-app/immich/pull/801

    Full Changelog: https://github.com/immich-app/immich/compare/v1.31.1_49-dev...v1.32.0_50-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.31.1_49-dev(Oct 9, 2022)

    What's Changed

    • fix(server): Delete encoded video when deleting file by @alextran1502 in https://github.com/immich-app/immich/pull/794
    • chore: add GitHub action to generate SDK in Rust/Typescript/Dart by @alextran1502 in https://github.com/immich-app/immich/pull/790
    • fix(server): Update local-reverse-geocoder to 0.12.5 by @bo0tzz in https://github.com/immich-app/immich/pull/793
    • fix(web): Fix z-index ordering of Account Info Box and date-sidebar on web by @AnTheMaker in https://github.com/immich-app/immich/pull/799

    New Contributors

    • @AnTheMaker made their first contribution in https://github.com/immich-app/immich/pull/799

    Full Changelog: https://github.com/immich-app/immich/compare/v1.31.0_49-dev...v1.31.1_49-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.31.0_49-dev(Oct 6, 2022)

    v1.31.0_49-dev

    In this release, we added a feature for the admin to trigger job manually in case there is something wrong with the microservices container while the asset is uploaded.

    Job Feature

    Additionally, Shout out to @zoodyy for continuing to improve the background backup feature on Android to solve edge cases problem on limited resource phone models

    What's Changed

    • chore: fix github action name by @bivainis in https://github.com/immich-app/immich/pull/785
    • feat(mobile[Android]): background backup progress notifications by @zoodyy in https://github.com/immich-app/immich/pull/781
    • fix(server): Use boolean comparison for DISABLE_REVERSE_GEOCODING config by @bo0tzz in https://github.com/immich-app/immich/pull/787
    • feat(server/web): Add manual job trigger mechanism to the web by @alextran1502 in https://github.com/immich-app/immich/pull/767
    • fix(mobile[Android]): run background service after being killed by @zoodyy in https://github.com/immich-app/immich/pull/789

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    New Contributors

    • @bivainis made their first contribution in https://github.com/immich-app/immich/pull/785

    Full Changelog: https://github.com/immich-app/immich/compare/v1.30.2_48-dev...v1.31.0_49-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.30.2_48-dev(Oct 4, 2022)

    What's Changed

    • fix(mobile): Fix bug with missing year and add date to drag handle by @matthinc in https://github.com/immich-app/immich/pull/761
    • chore(server): Add docker volumes to services by @PixelJonas in https://github.com/immich-app/immich/pull/766
    • fix(server): Fix resized thumbnail path not parse correctly by @deepesh16b in https://github.com/immich-app/immich/pull/780
    • fix(mobile): Fix error parsing date time prevent the timeline to be displayed by @alextran1502 in https://github.com/immich-app/immich/pull/784

    New Contributors

    • @deepesh16b made their first contribution in https://github.com/immich-app/immich/pull/780

    Full Changelog: https://github.com/immich-app/immich/compare/v1.30.0_46-dev...v1.30.2_48-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.30.0_46-dev(Sep 28, 2022)

    v1.30.0_46-dev

    This release includes an experimental feature on the mobile app that will help with performance improvement for viewing a large amount of assets (ten of thousands). Please visit the Settings page, turn on the feature, then sign out and sign back in for the new feature to take effect. Thanks @matthinc for this spectacular improvement work.

    We are looking forward to your feedback on this feature.

    What's Changed

    • feat(mobile): Improve timeline performance on mobile - experimental by @matthinc in https://github.com/immich-app/immich/pull/710
    • feat(server): Provide a sensible dumpDirectory for the local-reverse-geocoder module by @nebulade in https://github.com/immich-app/immich/pull/759

    Support

    If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor

    It is a great way to let me know that you want me to continue developing and working on this project for years to come.

    New Contributors

    • @nebulade made their first contribution in https://github.com/immich-app/immich/pull/759

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.6_45-dev...v1.30.0_46-dev

    Source code(tar.gz)
    Source code(zip)
    v1.30.0_46-dev.apk(54.01 MB)
  • v1.29.6_45-dev(Sep 28, 2022)

    v1.29.6_45-dev

    This release introduces many QoS improvements including correctly infer time based on timezone, removing MapBox dependency and some UI fix on the web.

    What's Changed

    • fix(server,mobile): Incorrectly record/display timestamp and time zone of the asset by @alextran1502 in https://github.com/immich-app/immich/pull/706
    • feat(server) Remove mapbox and use local reverse geocoding by @zackpollard in https://github.com/immich-app/immich/pull/738
    • fix(server): handle missing reverse geocoding admin zones by @zackpollard in https://github.com/immich-app/immich/pull/742
    • fix(web) navigating forward button get in the way of video control bar by @alextran1502 in https://github.com/immich-app/immich/pull/744
    • fix(machine-learning) Remove unsused database config by @alextran1502 in https://github.com/immich-app/immich/pull/745
    • feat(server): support .NEF file by @alextran1502 in https://github.com/immich-app/immich/pull/746
    • feat(server): missing exif extract nightly task by @zackpollard in https://github.com/immich-app/immich/pull/754

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.5_44-dev...v1.29.6_44-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.5_44-dev(Sep 22, 2022)

    What's Changed

    • Only run scheduled geocoding task once per day by @bo0tzz in https://github.com/immich-app/immich/pull/730

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.4_44-dev...v1.29.5_44-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.4_44-dev(Sep 19, 2022)

    What's Changed

    • fix(mobile): app crash when there is no object detection result on search page by @alextran1502 in https://github.com/immich-app/immich/pull/725

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.3_43-dev...v1.29.4_44-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.3_43-dev(Sep 19, 2022)

    Hotfix

    Fix error with the API to get asset on the device returning only image, photo is omtted.

    What changed

    • fix(server): query only image when get asset on device by @alextran1502 in https://github.com/immich-app/immich/pull/724

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.2_43-dev...v1.29.3_43-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.2_43-dev(Sep 19, 2022)

    What's Changed

    • fix(server): sanitization error that crash the server by @alextran1502 in https://github.com/immich-app/immich/pull/721

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.1_43-dev...v1.29.2_43-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.1_43-dev(Sep 18, 2022)

    Security Patch

    โš ๏ธ This release include security fixes for the server. It is highly recommended to update all instance to this version ASAP

    What's Changed

    • fix(readme) typo by @JaCoB1123 in https://github.com/immich-app/immich/pull/699
    • fix(mobile): Fixed iOS 16 overflow cache and memory leaked in gallery viewer. by @alextran1502 in https://github.com/immich-app/immich/pull/700
    • test(web) Add tests for asset repository by @alextran1502 in https://github.com/immich-app/immich/pull/680
    • feat(web) Remove fetching fonts from GoogleFonts by @alextran1502 in https://github.com/immich-app/immich/pull/703
    • feat(web): Update to latest version of SvelteKit by @alextran1502 in https://github.com/immich-app/immich/pull/705
    • feat(repo): added SECURITY.md by @JamieSlome in https://github.com/immich-app/immich/pull/712
    • fix(server): correct user permission to update user info by @alextran1502 in https://github.com/immich-app/immich/pull/716
    • feat(server): sanitized path for asset creation process to avoid security risk by @alextran1502 in https://github.com/immich-app/immich/pull/717
    • fix(mobile): update deprecated API that cause background upload notification not dismissing.

    New Contributors

    • @JaCoB1123 made their first contribution in https://github.com/immich-app/immich/pull/699
    • @JamieSlome made their first contribution in https://github.com/immich-app/immich/pull/712

    Full Changelog: https://github.com/immich-app/immich/compare/v1.29.0_42-dev...v1.29.1_42-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.29.0_42-dev(Sep 14, 2022)

    Breaking change

    #651 Breaking Change immich-proxy switched from using port 80 which was used inside of the container to 8080 to drop dependency on a privileged user inside the container. This reduces a potential security risk of someone being able to impersonate that user on the host.

    As a result you will need to change your docker-compose.yaml to reflect this change, by changing the port-binding from

      immich-proxy:
        container_name: immich_proxy
        image: altran1502/immich-proxy:release
        ports:
          - 2283:80
    

    to

      immich-proxy:
        container_name: immich_proxy
        image: altran1502/immich-proxy:release
        ports:
          - 2283:8080
    

    a full example of the always-up-to-date docker-compose.yaml can be found in our repo

    What's Changed

    • feat(readme) add app store links by @tennox in https://github.com/immich-app/immich/pull/689
    • fix(mobile): Android BackgroundServiceStartNotAllowedException by @zoodyy in https://github.com/immich-app/immich/pull/687
    • fix(server): mismatch createdAt value in exif table and asset table by @alextran1502 in https://github.com/immich-app/immich/pull/688
    • feat(setup): use non-root image for immich-proxy by @PixelJonas in https://github.com/immich-app/immich/pull/651
    • feat(readme) by @beune in https://github.com/immich-app/immich/pull/690
    • fix(mobile) cache read write error on iOS 16 by @alextran1502 in https://github.com/immich-app/immich/pull/691
    • fix(setup): revert nginx image to support arm/v7 by @PixelJonas in https://github.com/immich-app/immich/pull/692

    New Contributors

    • @tennox made their first contribution in https://github.com/immich-app/immich/pull/689
    • @PixelJonas made their first contribution in https://github.com/immich-app/immich/pull/651
    • @beune made their first contribution in https://github.com/immich-app/immich/pull/690

    Full Changelog: https://github.com/immich-app/immich/compare/v1.28.4_41-dev...v1.29.0_42-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.28.4_41-dev(Sep 13, 2022)

    There is no mobile release for this version

    What's Changed

    • fix(web): datetime display and add TZ into environment by @panoti in https://github.com/immich-app/immich/pull/618
    • fix(server): remove album thumbnail when the asset is deleted from the database by @alextran1502 in https://github.com/immich-app/immich/pull/681
    • fix(server): harden inserting process, healing datetime info to insert to database by @alextran1502 in https://github.com/immich-app/immich/pull/682
    • feat(server): add additional logging level by @alextran1502 in https://github.com/immich-app/immich/pull/685

    Full Changelog: https://github.com/immich-app/immich/compare/v1.28.3_41-dev...v1.28.4_41-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.28.3_41-dev(Sep 11, 2022)

    What's Changed

    • Fix(mobile) oversize play button by @alextran1502 in https://github.com/immich-app/immich/pull/672
    • fix(mobile) memory leaked causes app to crash when swiping by @alextran1502 in https://github.com/immich-app/immich/pull/673
    • fix(web) incorrect shared album count by @alextran1502 in https://github.com/immich-app/immich/pull/677

    Full Changelog: https://github.com/immich-app/immich/compare/v1.28.2_40-dev...v1.28.3_41-dev

    Source code(tar.gz)
    Source code(zip)
  • v1.28.2_40-dev(Sep 10, 2022)

    What's Changed

    • fix(mobile): Background backup not running in release mode by @alextran1502 in https://github.com/immich-app/immich/pull/664
    • fix(install): Fix checking for docker compose. by @brettp in https://github.com/immich-app/immich/pull/663
    • fix(server): loop on checksum generation by @panoti in https://github.com/immich-app/immich/pull/662

    New Contributors

    • @brettp made their first contribution in https://github.com/immich-app/immich/pull/663

    Full Changelog: https://github.com/immich-app/immich/compare/v1.28.1_39-dev...v1.28.2_40-dev

    Source code(tar.gz)
    Source code(zip)
    v1.28.2_40-dev.apk(53.83 MB)
Owner
Alex
EE
Alex
A streaming client for the Komga self-hosted comics/manga/BD server targeting Android/iOS written in Dart/Flutter

Klutter A streaming client for the Komga self-hosted comics/manga/BD server targeting Android/iOS written in Dart/Flutter Background This is a project

Mark Winckle 58 Dec 7, 2022
Let's deliver Flutter app using Fastlane and self-hosted runner.

Flutter CICD - Let's deliver app using Fastlane and Github selfhosted runner About This project shows how to create a minimal configuration for buildi

Codigee 3 Nov 17, 2022
Eder Zambrano 0 Feb 13, 2022
Photo Finder - Online free simple photo library with flutter

photo_finder Photo_Finder Is a Online free simple photo library. Fully API Based

CPAD-Gazipur 2 Feb 9, 2022
Presentation-Remote-PC - Manage your presentation from your smart phone - Phone Client

Presentation-Remote-PC Manage your presentation from your smart phone - Phone Cl

Hasan Ragab Eltantawy 1 Jan 25, 2022
Backs up Android devices on Linux, macOS and Windows. Backup your device without vendor lock-ins, using insecure software or root.

Backs up Android devices on Linux, macOS and Windows. Backup your device without vendor lock-ins, using insecure software or root. Supports encryption and compression out of the box.

null 255 Dec 31, 2022
a dart dropbox file uploader (backup)

?? DropBox File Uploader A simple dropbox file uploader in dart This project was made as the base project for appwrite file backup cloud function in d

Donald Chinhuru 4 Dec 20, 2022
An app to explore and bookmark packages hosted on pub.dev.

pub.dev explorer An app to explore and bookmark packages hosted on pub.dev. Web App Packages are shown in descending order starting from the most rece

Kabo 2 Nov 11, 2022
A photo gallery mobile application with Flutter.

Photo Gallery Photo Gallery mobile application. Description Photo Gallery is a cross platform mobile application made with Flutter. This application u

null 4 Dec 23, 2022
Add beautiful and trending tab indicators directly to your default Flutter TabBar

Add beautiful and trending tab indicators directly to your default Flutter TabBar. Features ?? Supports Android, iOS, Web Can be directly added to the

Adar 51 Dec 23, 2022
A mobile client for the public apis repository, 1400+ free apis to use able to be navigated through your phone :)

Public APIs mobile app Your assistant app that will help you discover and pick the next API for your next development project What it contains, you sa

Gwhyyy 4 Dec 25, 2022
ABC of Flutter widgets. Intended for super beginners at Flutter. Play with 35+ examples in DartPad directly and get familiar with various basic widgets in Flutter

Basic Widgets Examples This is aimed for complete beginners in Flutter, to get them acquainted with the various basic widgets in Flutter. Run this pro

Pooja Bhaumik 815 Jan 3, 2023
Flutter Faux Self App Naked Eye 3D Effect

Flutter Faux Self App Naked Eye 3D Effect

FlutterCandies 146 Jan 9, 2023
Dart port of FormCoreJS: A minimal pure functional language based on self dependent types.

FormCore.js port to Dart. So far only the parser and typechecker have been ported i.e. the FormCore.js file in the original repo. (Original readme fro

Modestas Valauskas 2 Jan 28, 2022
A beautiful ๐Ÿ˜ covid-19 app with self - assessment and more.

Aarogya Seva Made with ?? in India ?? Aarogya Seva is an Indian app developed using flutter for tracking live Covid-19 cases. App provides Coronavirus

Shubham Soni 118 Nov 25, 2022
This package allows you to scroll/select the value directly from the dropdown with less effort and time.

Direct Select This package allows you to scroll/select the value directly from the dropdown with less effort and time. Inspired by Virgil Pana shot Sa

Diego Velรกsquez Lรณpez 62 Nov 25, 2022
Flutter code extension that provides MediaQuery sizing info directly on the BuildContext instance

Flutter code extension that provides MediaQuery sizing info directly on the BuildContext instance. Also adds some helper methods for sizing and layout.

gskinner team 87 Dec 6, 2022
Get Android App Updates Directly From the Source.

Obtainium Get Android App Updates Directly From the Source. Obtainium allows you to install and update Open-Source Apps directly from their releases p

Imran Remtulla 540 Dec 29, 2022
This is a Clone FinkuApp Inspired by This Real App It Self, Finku is a Money Management Tracker Develop by Fintech

?? Finku App This is a Clone FinkuApp Inspired by This Real App It Self, Finku is a Money Management Tracker Develop by Fintech. ?? Installing depende

fizfat 9 Dec 16, 2022