App Submission: Immich (#239)

Co-authored-by: Malte Leverenz <m.leverenz@payergbr.com>
Co-authored-by: Steven Briscoe <me@stevenbriscoe.com>
This commit is contained in:
levma 2023-01-11 14:53:16 +01:00 committed by GitHub
parent ab78ec7496
commit 2178511f78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 187 additions and 0 deletions

View File

View File

View File

121
immich/docker-compose.yml Normal file
View File

@ -0,0 +1,121 @@
version: "3.7"
services:
app_proxy:
environment:
APP_HOST: immich_proxy_1
APP_PORT: 8080
PROXY_AUTH_WHITELIST: "/api/*"
server:
image: altran1502/immich-server:v1.40.0_63-dev@sha256:c61f6c5373efb4544db8d04e6e090b77561b71b07d4f272821a6349a18531e37
entrypoint: ["/bin/sh", "./start-server.sh"]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
environment:
NODE_ENV: production
DB_HOSTNAME: immich_postgres_1
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
REDIS_HOSTNAME: immich_redis_1
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
JWT_SECRET: ${APP_SEED}
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
depends_on:
- redis
- postgres
restart: on-failure
microservices:
image: altran1502/immich-server:v1.40.0_63-dev@sha256:c61f6c5373efb4544db8d04e6e090b77561b71b07d4f272821a6349a18531e37
# This service cannot run under 1000:1000
# And because the uploads are shared
# We'll run immich specific services as root
entrypoint: ["/bin/sh", "./start-microservices.sh"]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
environment:
NODE_ENV: production
DB_HOSTNAME: immich_postgres_1
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
REDIS_HOSTNAME: immich_redis_1
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
JWT_SECRET: ${APP_SEED}
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
depends_on:
- redis
- postgres
restart: on-failure
machine-learning:
image: altran1502/immich-machine-learning:v1.40.0_63-dev@sha256:a5e660247a5a3c1d1b4ab9d160629def546d7e86e534a55d5ebc0e0eee5cef1a
entrypoint: ["/bin/sh", "./entrypoint.sh"]
volumes:
- ${APP_DATA_DIR}/data/upload:/usr/src/app/upload
environment:
NODE_ENV: production
DB_HOSTNAME: immich_postgres_1
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
REDIS_HOSTNAME: immich_redis_1
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
JWT_SECRET: ${APP_SEED}
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
depends_on:
- postgres
restart: on-failure
web:
image: altran1502/immich-web:v1.40.0_63-dev@sha256:abad6488afaa1d0b4b8ea818221b86e7b45bf72a1ea328d8c0f35ad266b9e544
entrypoint: ["/bin/sh", "./entrypoint.sh"]
environment:
DB_HOSTNAME: immich_postgres_1
DB_USERNAME: ${APP_IMMICH_DB_USERNAME}
DB_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
DB_DATABASE_NAME: ${APP_IMMICH_DB_DATABASE_NAME}
REDIS_HOSTNAME: immich_redis_1
LOG_LEVEL: ${APP_IMMICH_LOG_LEVEL}
JWT_SECRET: ${APP_SEED}
DISABLE_REVERSE_GEOCODING: ${APP_IMMICH_DISABLE_REVERSE_GEOCODING}
REVERSE_GEOCODING_PRECISION: ${APP_IMMICH_REVERSE_GEOCODING_PRECISION}
PUBLIC_LOGIN_PAGE_MESSAGE: ${APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE}
PUBLIC_IMMICH_SERVER_URL: "http://immich_server_1:3001"
restart: on-failure
proxy:
image: altran1502/immich-proxy:v1.40.0_63-dev@sha256:f779b86497b3d4b8822ec0d7341cfd2d1f1688b8859c70a9b16bd36d01468865
environment:
IMMICH_WEB_URL: "http://immich_web_1:3000"
IMMICH_SERVER_URL: "http://immich_server_1:3001"
depends_on:
- server
restart: on-failure
redis:
image: redis:6.2-bullseye@sha256:ffd3d04c8f7832ccdda89616ebaf3cb38414b645ebbf76dbef1fc9c36a72a2d1
user: "1000:1000"
restart: on-failure
volumes:
- ${APP_DATA_DIR}/data/redis:/data
postgres:
image: postgres:14-bullseye@sha256:135c62a8134dcef829a1e4f5568bfae44bcfa2c75659ff948f43c71964366aa4
user: "1000:1000"
environment:
POSTGRES_USER: ${APP_IMMICH_DB_USERNAME}
POSTGRES_PASSWORD: ${APP_IMMICH_DB_PASSWORD}
POSTGRES_DB: ${APP_IMMICH_DB_DATABASE_NAME}
PG_DATA: /var/lib/postgresql/data
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
restart: on-failure

7
immich/exports.sh Normal file
View File

@ -0,0 +1,7 @@
export APP_IMMICH_DB_USERNAME="immich"
export APP_IMMICH_DB_PASSWORD="moneyprintergobrrr"
export APP_IMMICH_DB_DATABASE_NAME="immich"
export APP_IMMICH_LOG_LEVEL="simple"
export APP_IMMICH_DISABLE_REVERSE_GEOCODING="false"
export APP_IMMICH_REVERSE_GEOCODING_PRECISION="3"
export APP_IMMICH_PUBLIC_LOGIN_PAGE_MESSAGE=""

59
immich/umbrel-app.yml Normal file
View File

@ -0,0 +1,59 @@
manifestVersion: 1
id: immich
category: Files
name: Immich
version: "v1.40.1_63-dev"
tagline: High performance photo and video backup solution
description: >-
An open source and high performance self-hosted backup solution for the videos and photos on your mobile device
Features:
- Upload and view videos and photos
- Auto backup when the app is opened
- Selective album(s) for backup
- Download photos and videos to local device
- Multi-user support
- Album and Shared albums
- Scrubbable/draggable scrollbar
- Support RAW (HEIC, HEIF, DNG, Apple ProRaw)
- Metadata view (EXIF, map)
- Search by metadata, objects and image tags
- Administrative functions (user management)
- Background backup
- Virtual scroll
- OAuth support
- LivePhoto backup and playback
- User-defined storage structure
releaseNotes: ""
developer: Alex Tran
website: https://www.immich.app
dependencies: []
repo: https://github.com/immich-app/immich
support: https://github.com/immich-app/immich/discussions
port: 2283
gallery:
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultUsername: ""
defaultPassword: ""
submitter: levma
submission: https://github.com/getumbrel/umbrel-apps/pull/239