diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 28b918f977..a654e334a4 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ # These are supported funding model platforms github: alextran1502 +custom: https://www.buymeacoffee.com/altran1502?new=1 \ No newline at end of file diff --git a/PR_CHECKLIST.md b/PR_CHECKLIST.md index ecdc85b1d9..9d9979724d 100644 --- a/PR_CHECKLIST.md +++ b/PR_CHECKLIST.md @@ -6,7 +6,7 @@ [ ] Up version in [docker/docker-compose.gpu.yml](/docker/docker-compose.gpu.yml) for `immich_server` service -[ ] Up version in [docker/docker-compose.dev.yml](/docker/docker-compose.gpu.yml) for `immich_server` service +[ ] Up version in [docker/docker-compose.dev.yml](/docker/docker-compose.dev.yml) for `immich_server` service [ ] Up version in [server/src/constants/server_version.constant.ts](/server/src/constants/server_version.constant.ts) diff --git a/README.md b/README.md index 4929c55610..461e60cc94 100644 --- a/README.md +++ b/README.md @@ -66,17 +66,25 @@ This project is under heavy development, there will be continous functions, feat - Show curated objects on the search page - Shared album with users on the same server -# Development +# System Requirement -You can use docker compose for development, there are several services that compose Immich +**OS**: Preferred Linux-based operating system (Ubuntu, Debian, MacOS...etc). I haven't tested with `Docker for Windows` as well as `WSL` on Windows -1. NestJs -2. PostgreSQL -3. Redis -4. Nginx -5. TensorFlow +**RAM**: At least 2GB, preffered 4GB. -## Populate .env file +**Cores**: At least 2 cores, preffered 4 cores. + +# Development and Testing out the application + +You can use docker compose for development and testing out the application, there are several services that compose Immich: + +1. **NestJs** - Backend of the application +2. **PostgreSQL** - Main database of the application +3. **Redis** - For sharing websocket instance between docker instances and background tasks message queue. +4. **Nginx** - Load balancing and optimized file uploading. +5. **TensorFlow** - Object Detection and Image Classification. + +## Step 1: Populate .env file Navigate to `docker` directory and run @@ -90,15 +98,44 @@ Notice that if set `ENABLE_MAPBOX` to `true`, you will have to provide `MAPBOX_K Pay attention to the key `UPLOAD_LOCATION`, this directory must exist and is owned by the user that run the `docker-compose` command below. +**Example** + +```bash +# Database +DB_USERNAME=postgres +DB_PASSWORD=postgres +DB_DATABASE_NAME=immich + +# Upload File Config +UPLOAD_LOCATION= + +# 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= +``` + +## Step 2: Start the server + To start, run ```bash -docker-compose -f ./docker/docker-compose.yml up --build -V +docker-compose -f ./docker/docker-compose.yml up ``` +If you have a few thousand photos/videos, I suggest running docker-compose with scaling option for the `immich_server` container to handle high I/O load when using fast scrolling. + +```bash +docker-compose -f ./docker/docker-compose.yml up --scale immich_server=5 +``` + + The server will be running at `http://your-ip:2283` through `Nginx` -## Register User +## Step 3: Register User Use the command below on your terminal to create user as we don't have user interface for this function yet. @@ -111,7 +148,9 @@ curl --location --request POST 'http://your-server-ip:2283/auth/signUp' \ }' ``` -## Run mobile app +## Step 4: Run mobile app + +The app is distributed on several platforms below. ## F-Droid You can get the app on F-droid by clicking the image below. @@ -123,11 +162,7 @@ You can get the app on F-droid by clicking the image below. ## Android -#### Download the latest `apk` in the release tab and run on your phone. You can follow this guide on how to do that - -- [Run APK on Android](https://www.lifewire.com/install-apk-on-android-4177185) - -#### You can also download the app from Google Play Store [here](https://play.google.com/store/apps/details?id=app.alextran.immich) +#### Get the app on Google Play Store [here](https://play.google.com/store/apps/details?id=app.alextran.immich) *The App version might be lagging behind the latest release due to the review process.* @@ -137,7 +172,7 @@ You can get the app on F-droid by clicking the image below. ## iOS -#### You can download the app from Apple AppStore [here](https://apps.apple.com/us/app/immich/id1613945652): +#### Get the app on Apple AppStore [here](https://apps.apple.com/us/app/immich/id1613945652): *The App version might be lagging behind the latest release due to the review process.* @@ -148,7 +183,9 @@ You can get the app on F-droid by clicking the image below. # 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**](https://github.com/sponsors/alextran1502). +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**](https://github.com/sponsors/alextran1502), or one time donation with Buy Me a coffee link below. + +[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/altran1502) This is also a meaningful way to give me motivation and encounragment to continue working on the app. diff --git a/docker/.env.example b/docker/.env.example index 1d61eac1cf..02f6ef2324 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -1,15 +1,15 @@ # Database DB_USERNAME=postgres DB_PASSWORD=postgres -DB_DATABASE_NAME= +DB_DATABASE_NAME=immich # Upload File Config UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup # JWT SECRET -JWT_SECRET= +JWT_SECRET=randomstringthatissolongandpowerfulthatnoonecanguess # MAPBOX ## ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY -ENABLE_MAPBOX= +ENABLE_MAPBOX=false MAPBOX_KEY= \ No newline at end of file diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index a70078f311..12349fbb7f 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -2,7 +2,7 @@ version: "3.8" services: immich_server: - image: immich-server-dev:1.7.0 + image: immich-server-dev:1.8.0 build: context: ../server dockerfile: Dockerfile @@ -24,7 +24,7 @@ services: - immich_network immich_microservices: - image: immich-microservices-dev:1.7.0 + image: immich-microservices-dev:1.8.0 build: context: ../microservices dockerfile: Dockerfile diff --git a/docker/docker-compose.gpu.yml b/docker/docker-compose.gpu.yml index e37c6f8a05..1c289986fd 100644 --- a/docker/docker-compose.gpu.yml +++ b/docker/docker-compose.gpu.yml @@ -2,7 +2,7 @@ version: "3.8" services: immich_server: - image: immich-server-dev:1.7.0 + image: immich-server-dev:1.8.0 build: context: ../server dockerfile: Dockerfile @@ -22,7 +22,7 @@ services: - immich_network immich_microservices: - image: immich-microservices-dev:1.7.0 + image: immich-microservices-dev:1.8.0 build: context: ../microservices dockerfile: Dockerfile diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index fa95436991..4d12fae277 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,7 +2,7 @@ version: "3.8" services: immich_server: - image: altran1502/immich-server:v1.7.0_11-dev + image: altran1502/immich-server:v1.8.0_12-dev entrypoint: ["/bin/sh", "./entrypoint.sh"] expose: - "3000" @@ -20,7 +20,7 @@ services: restart: unless-stopped immich_microservices: - image: altran1502/immich-microservices:v1.7.0_11-dev + image: altran1502/immich-microservices:v1.8.0_12-dev entrypoint: ["/bin/sh", "./entrypoint.sh"] expose: - "3001" diff --git a/mobile/android/fastlane/metadata/android/en-US/changelogs/12.txt b/mobile/android/fastlane/metadata/android/en-US/changelogs/12.txt new file mode 100644 index 0000000000..450a167c9e --- /dev/null +++ b/mobile/android/fastlane/metadata/android/en-US/changelogs/12.txt @@ -0,0 +1 @@ +* Album name is now editable \ No newline at end of file diff --git a/mobile/lib/modules/sharing/providers/album_viewer.provider.dart b/mobile/lib/modules/sharing/providers/album_viewer.provider.dart index 90cf18a6a3..f32e43d8a8 100644 --- a/mobile/lib/modules/sharing/providers/album_viewer.provider.dart +++ b/mobile/lib/modules/sharing/providers/album_viewer.provider.dart @@ -40,6 +40,7 @@ class AlbumViewerNotifier extends StateNotifier { return true; } + state = state.copyWith(editTitleText: "", isEditAlbum: false); return false; } } diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index 751ec6c005..cae296b87e 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -2,7 +2,7 @@ name: immich_mobile description: Immich - selfhosted backup media file on mobile phone publish_to: "none" -version: 1.7.0+11 +version: 1.8.0+12 environment: sdk: ">=2.15.1 <3.0.0" diff --git a/server/src/constants/server_version.constant.ts b/server/src/constants/server_version.constant.ts index 21c3be5768..40326a71d1 100644 --- a/server/src/constants/server_version.constant.ts +++ b/server/src/constants/server_version.constant.ts @@ -3,7 +3,7 @@ export const serverVersion = { major: 1, - minor: 7, + minor: 8, patch: 0, - build: 11, + build: 12, };