mirror of
https://github.com/immich-app/immich.git
synced 2024-11-24 08:52:28 +02:00
parent
38e0178c81
commit
2c4243b3d0
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@ -1,3 +1,4 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
github: alextran1502
|
github: alextran1502
|
||||||
|
custom: https://www.buymeacoffee.com/altran1502?new=1
|
@ -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.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)
|
[ ] Up version in [server/src/constants/server_version.constant.ts](/server/src/constants/server_version.constant.ts)
|
||||||
|
|
||||||
|
73
README.md
73
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
|
- Show curated objects on the search page
|
||||||
- Shared album with users on the same server
|
- 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
|
**RAM**: At least 2GB, preffered 4GB.
|
||||||
2. PostgreSQL
|
|
||||||
3. Redis
|
|
||||||
4. Nginx
|
|
||||||
5. TensorFlow
|
|
||||||
|
|
||||||
## 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
|
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.
|
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=<put-the-path-of-the-upload-folder-here>
|
||||||
|
|
||||||
|
# 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
|
To start, run
|
||||||
|
|
||||||
```bash
|
```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`
|
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.
|
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
|
## F-Droid
|
||||||
You can get the app on F-droid by clicking the image below.
|
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
|
## Android
|
||||||
|
|
||||||
#### Download the latest `apk` in the release tab and run on your phone. You can follow this guide on how to do that
|
#### Get the app on Google Play Store [here](https://play.google.com/store/apps/details?id=app.alextran.immich)
|
||||||
|
|
||||||
- [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)
|
|
||||||
|
|
||||||
*The App version might be lagging behind the latest release due to the review process.*
|
*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
|
## 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.*
|
*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
|
# 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.
|
This is also a meaningful way to give me motivation and encounragment to continue working on the app.
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
# Database
|
# Database
|
||||||
DB_USERNAME=postgres
|
DB_USERNAME=postgres
|
||||||
DB_PASSWORD=postgres
|
DB_PASSWORD=postgres
|
||||||
DB_DATABASE_NAME=
|
DB_DATABASE_NAME=immich
|
||||||
|
|
||||||
# Upload File Config
|
# Upload File Config
|
||||||
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
|
UPLOAD_LOCATION=absolute_location_on_your_machine_where_you_want_to_store_the_backup
|
||||||
|
|
||||||
# JWT SECRET
|
# JWT SECRET
|
||||||
JWT_SECRET=
|
JWT_SECRET=randomstringthatissolongandpowerfulthatnoonecanguess
|
||||||
|
|
||||||
# MAPBOX
|
# MAPBOX
|
||||||
## ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
|
## ENABLE_MAPBOX is either true of false -> if true, you have to provide MAPBOX_KEY
|
||||||
ENABLE_MAPBOX=
|
ENABLE_MAPBOX=false
|
||||||
MAPBOX_KEY=
|
MAPBOX_KEY=
|
@ -2,7 +2,7 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
immich_server:
|
immich_server:
|
||||||
image: immich-server-dev:1.7.0
|
image: immich-server-dev:1.8.0
|
||||||
build:
|
build:
|
||||||
context: ../server
|
context: ../server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -24,7 +24,7 @@ services:
|
|||||||
- immich_network
|
- immich_network
|
||||||
|
|
||||||
immich_microservices:
|
immich_microservices:
|
||||||
image: immich-microservices-dev:1.7.0
|
image: immich-microservices-dev:1.8.0
|
||||||
build:
|
build:
|
||||||
context: ../microservices
|
context: ../microservices
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
@ -2,7 +2,7 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
immich_server:
|
immich_server:
|
||||||
image: immich-server-dev:1.7.0
|
image: immich-server-dev:1.8.0
|
||||||
build:
|
build:
|
||||||
context: ../server
|
context: ../server
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -22,7 +22,7 @@ services:
|
|||||||
- immich_network
|
- immich_network
|
||||||
|
|
||||||
immich_microservices:
|
immich_microservices:
|
||||||
image: immich-microservices-dev:1.7.0
|
image: immich-microservices-dev:1.8.0
|
||||||
build:
|
build:
|
||||||
context: ../microservices
|
context: ../microservices
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
|
@ -2,7 +2,7 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
immich_server:
|
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"]
|
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||||
expose:
|
expose:
|
||||||
- "3000"
|
- "3000"
|
||||||
@ -20,7 +20,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
immich_microservices:
|
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"]
|
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||||
expose:
|
expose:
|
||||||
- "3001"
|
- "3001"
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
* Album name is now editable
|
@ -40,6 +40,7 @@ class AlbumViewerNotifier extends StateNotifier<AlbumViewerPageState> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
state = state.copyWith(editTitleText: "", isEditAlbum: false);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ name: immich_mobile
|
|||||||
description: Immich - selfhosted backup media file on mobile phone
|
description: Immich - selfhosted backup media file on mobile phone
|
||||||
|
|
||||||
publish_to: "none"
|
publish_to: "none"
|
||||||
version: 1.7.0+11
|
version: 1.8.0+12
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.15.1 <3.0.0"
|
sdk: ">=2.15.1 <3.0.0"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
export const serverVersion = {
|
export const serverVersion = {
|
||||||
major: 1,
|
major: 1,
|
||||||
minor: 7,
|
minor: 8,
|
||||||
patch: 0,
|
patch: 0,
|
||||||
build: 11,
|
build: 12,
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user