Add Immich as one-click-app (#894)
* Added immich.yml and immich.png
* format
* format
* update instructions for clearer messages
* format
* revert changes in package.json
* Delete package.json
* Delete package-lock.json
* package.json as before, sorry
* sorry
* Delete package-lock.json
* grr
* now it should work
* Update package-lock.json
I just copy pasted the original, I'm going mad 😱
* Update package.json
Copy pasted from the one in master
* Everything works
* formatter-writer
This commit is contained in:
parent
ad78e0a157
commit
3b2ae3e33c
|
|
@ -0,0 +1,180 @@
|
||||||
|
captainVersion: 4
|
||||||
|
|
||||||
|
services:
|
||||||
|
$$cap_appname-server:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
dockerfileLines:
|
||||||
|
- FROM ghcr.io/immich-app/immich-server:$$cap_version
|
||||||
|
- ENTRYPOINT ["/bin/sh", "./start-server.sh"]
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
DB_PASSWORD: $$cap_app_db_pass
|
||||||
|
DB_USERNAME: $$cap_app_db_user
|
||||||
|
DB_DATABASE_NAME: $$cap_app_db_name
|
||||||
|
DB_HOSTNAME: srv-captain--$$cap_appname-db
|
||||||
|
TYPESENSE_API_KEY: $$cap_typesense_api_key
|
||||||
|
TYPESENSE_HOST: srv-captain--$$cap_appname-typesense
|
||||||
|
REDIS_HOSTNAME: srv-captain--$$cap_appname-redis
|
||||||
|
UPLOAD_LOCATION: $$cap_app_upload_location
|
||||||
|
IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000
|
||||||
|
IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001
|
||||||
|
IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003
|
||||||
|
volumes:
|
||||||
|
- $$cap_app_upload_location:/usr/src/app/upload
|
||||||
|
depends_on:
|
||||||
|
- $$cap_appname-redis
|
||||||
|
- $$cap_appname-db
|
||||||
|
- $$cap_appname-typesense
|
||||||
|
|
||||||
|
$$cap_appname-microservices:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
dockerfileLines:
|
||||||
|
- FROM ghcr.io/immich-app/immich-server:$$cap_version
|
||||||
|
- ENTRYPOINT ["/bin/sh", "./start-microservices.sh"]
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
DB_PASSWORD: $$cap_app_db_pass
|
||||||
|
DB_USERNAME: $$cap_app_db_user
|
||||||
|
DB_DATABASE_NAME: $$cap_app_db_name
|
||||||
|
DB_HOSTNAME: srv-captain--$$cap_appname-db
|
||||||
|
TYPESENSE_API_KEY: $$cap_typesense_api_key
|
||||||
|
TYPESENSE_HOST: srv-captain--$$cap_appname-typesense
|
||||||
|
REDIS_HOSTNAME: srv-captain--$$cap_appname-redis
|
||||||
|
UPLOAD_LOCATION: $$cap_app_upload_location
|
||||||
|
IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000
|
||||||
|
IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001
|
||||||
|
IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003
|
||||||
|
volumes:
|
||||||
|
- $$cap_app_upload_location:/usr/src/app/upload
|
||||||
|
depends_on:
|
||||||
|
- $$cap_appname-redis
|
||||||
|
- $$cap_appname-db
|
||||||
|
- $$cap_appname-typesense
|
||||||
|
|
||||||
|
$$cap_appname-machine-learning:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
image: ghcr.io/immich-app/immich-machine-learning:$$cap_version
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
DB_PASSWORD: $$cap_app_db_pass
|
||||||
|
DB_USERNAME: $$cap_app_db_user
|
||||||
|
DB_DATABASE_NAME: $$cap_app_db_name
|
||||||
|
DB_HOSTNAME: srv-captain--$$cap_appname-db
|
||||||
|
TYPESENSE_API_KEY: $$cap_typesense_api_key
|
||||||
|
TYPESENSE_HOST: srv-captain--$$cap_appname-typesense
|
||||||
|
REDIS_HOSTNAME: srv-captain--$$cap_appname-redis
|
||||||
|
UPLOAD_LOCATION: $$cap_app_upload_location
|
||||||
|
IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000
|
||||||
|
IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001
|
||||||
|
IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003
|
||||||
|
volumes:
|
||||||
|
- $$cap_app_upload_location:/usr/src/app/upload
|
||||||
|
- $$cap_appname-mlcache:/cache
|
||||||
|
|
||||||
|
$$cap_appname-web:
|
||||||
|
caproverExtra:
|
||||||
|
dockerfileLines:
|
||||||
|
- FROM ghcr.io/immich-app/immich-web:$$cap_version
|
||||||
|
- ENTRYPOINT ["/bin/sh", "./entrypoint.sh"]
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
DB_PASSWORD: $$cap_app_db_pass
|
||||||
|
DB_USERNAME: $$cap_app_db_user
|
||||||
|
DB_DATABASE_NAME: $$cap_app_db_name
|
||||||
|
DB_HOSTNAME: srv-captain--$$cap_appname-db
|
||||||
|
TYPESENSE_API_KEY: $$cap_typesense_api_key
|
||||||
|
TYPESENSE_HOST: srv-captain--$$cap_appname-typesense
|
||||||
|
REDIS_HOSTNAME: srv-captain--$$cap_appname-redis
|
||||||
|
UPLOAD_LOCATION: $$cap_app_upload_location
|
||||||
|
IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000
|
||||||
|
IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001
|
||||||
|
IMMICH_MACHINE_LEARNING_URL: http://srv-captain--$$cap_appname-machine-learning:3003
|
||||||
|
|
||||||
|
$$cap_appname-typesense:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
image: typesense/typesense:$$cap_typesense_ver
|
||||||
|
environment:
|
||||||
|
TYPESENSE_API_KEY: $$cap_typesense_api_key
|
||||||
|
TYPESENSE_DATA_DIR: '/data'
|
||||||
|
volumes:
|
||||||
|
- $$cap_appname-typesense-data:/data
|
||||||
|
|
||||||
|
$$cap_appname-redis:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
image: redis:$$cap_redis_ver
|
||||||
|
|
||||||
|
$$cap_appname-db:
|
||||||
|
caproverExtra:
|
||||||
|
notExposeAsWebApp: 'true'
|
||||||
|
image: postgres:$$cap_app_db_ver
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: $$cap_app_db_pass
|
||||||
|
POSTGRES_USER: $$cap_app_db_user
|
||||||
|
POSTGRES_DB: $$cap_app_db_name
|
||||||
|
PG_DATA: /var/lib/postgresql/data
|
||||||
|
volumes:
|
||||||
|
- $$cap_appname-db-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
$$cap_appname:
|
||||||
|
caproverExtra:
|
||||||
|
containerHttpPort: 8080
|
||||||
|
image: ghcr.io/immich-app/immich-proxy:v1.52.1
|
||||||
|
environment:
|
||||||
|
IMMICH_SERVER_URL: http://srv-captain--$$cap_appname-server:3001
|
||||||
|
IMMICH_WEB_URL: http://srv-captain--$$cap_appname-web:3000
|
||||||
|
depends_on:
|
||||||
|
- $$cap_appname-server
|
||||||
|
|
||||||
|
caproverOneClickApp:
|
||||||
|
displayName: Immich
|
||||||
|
description: Open source (MIT License) Google Photos alternative. Backup your phone's photos and videos to your private server.
|
||||||
|
isOfficial: false
|
||||||
|
documentation: https://immich.app
|
||||||
|
instructions:
|
||||||
|
start: |-
|
||||||
|
Leave every default value as is for a working and simple installation. You can specify the (full) path to the directory you want to save your media, in that case the directory must exist beforehand. Immich can be accessed via browser and with an app (Immich). If you have big media files (bigger than 500MB) in your phone, update your Nginx configuration to increase your `client_max_body_size`.
|
||||||
|
end: |-
|
||||||
|
On your first visit it will ask for email and password for the admin user. Remember to change the default Nginx configuration and increasing the 'client_max_body_size' value if you expect to upload files bigger than 500MB.
|
||||||
|
variables:
|
||||||
|
- label: Immich version
|
||||||
|
id: $$cap_version
|
||||||
|
description: Check out their valid tags at https://hub.docker.com/r/immich-app/immich/tags
|
||||||
|
defaultValue: v1.52.1
|
||||||
|
- label: Immich redis version
|
||||||
|
id: $$cap_redis_ver
|
||||||
|
defaultValue: 6.2
|
||||||
|
description: Check out their valid tags at https://hub.docker.com/_/redis/tags
|
||||||
|
- label: Typesense version
|
||||||
|
id: $$cap_typesense_ver
|
||||||
|
description: Check out their valid tags at https://hub.docker.com/r/typesense/typesense/tags
|
||||||
|
defaultValue: 0.24.0
|
||||||
|
- label: Typesense API key
|
||||||
|
id: $$cap_typesense_api_key
|
||||||
|
description: A big enough string to be used to authenticate against Typesense. A random one is generated for you.
|
||||||
|
defaultValue: $$cap_gen_random_hex(32)
|
||||||
|
- label: Database password
|
||||||
|
id: $$cap_app_db_pass
|
||||||
|
description: Password for accessing the database. A random one has been generated for you.
|
||||||
|
defaultValue: $$cap_gen_random_hex(32)
|
||||||
|
- label: Database username
|
||||||
|
id: $$cap_app_db_user
|
||||||
|
description: Username to access the database
|
||||||
|
defaultValue: 'immich'
|
||||||
|
- label: Database name
|
||||||
|
id: $$cap_app_db_name
|
||||||
|
description: A name for the database used by Immich
|
||||||
|
defaultValue: 'immich'
|
||||||
|
- label: PostgreSQL database version
|
||||||
|
id: $$cap_app_db_ver
|
||||||
|
description: Immich uses PostgreSQL as a database. Check out their valid tags at https://hub.docker.com/_/postgres/tags
|
||||||
|
defaultValue: 14
|
||||||
|
- label: Upload directory
|
||||||
|
id: $$cap_app_upload_location
|
||||||
|
description: Full path to the directory where you plan to store all your files. It should be created beforehand. If you want caprover to create it for you just leave the default 'immich-data'
|
||||||
|
defaultValue: immich-data
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
Loading…
Reference in New Issue