Immich
This commit is contained in:
78
.env
Normal file
78
.env
Normal file
@@ -0,0 +1,78 @@
|
||||
###################################################################################
|
||||
# Database
|
||||
###################################################################################
|
||||
|
||||
DB_HOSTNAME=immich_postgres
|
||||
DB_USERNAME=postgres1234
|
||||
DB_PASSWORD=postgres4321
|
||||
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=/mnt/Data/Pictures/immich
|
||||
|
||||
###################################################################################
|
||||
# Log message level - [simple|verbose]
|
||||
###################################################################################
|
||||
|
||||
LOG_LEVEL=simple
|
||||
|
||||
###################################################################################
|
||||
# JWT SECRET
|
||||
###################################################################################
|
||||
|
||||
JWT_SECRET=LBFMH/tHs3VgR922pWNCy7wctMVx28WMBuJVBUPwWEtRzkO9WqMayitya4BgLljBKj7NBxKFuBixjuPcvJeH8I01O+Q81aW7Pk4/vL036VLB6mjd5n7jVObqwiMO8PexHi6+nxsiuU4kKR9V9Kxsh4ayIOdY8RxdJvtlxsiMtAA=
|
||||
|
||||
###################################################################################
|
||||
# Reverse Geocoding
|
||||
####################################################################################
|
||||
|
||||
# DISABLE_REVERSE_GEOCODING=false
|
||||
|
||||
# Reverse geocoding is done locally which has a small impact on memory usage
|
||||
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
|
||||
# This ranges from 0-3 with 3 being the most precise
|
||||
# 3 - Cities > 500 population: ~200MB RAM
|
||||
# 2 - Cities > 1000 population: ~150MB RAM
|
||||
# 1 - Cities > 5000 population: ~80MB RAM
|
||||
# 0 - Cities > 15000 population: ~40MB RAM
|
||||
|
||||
# REVERSE_GEOCODING_PRECISION=3
|
||||
|
||||
####################################################################################
|
||||
# WEB - Optional
|
||||
####################################################################################
|
||||
|
||||
# Custom message on the login page, should be written in HTML form.
|
||||
# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
|
||||
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE=
|
||||
|
||||
####################################################################################
|
||||
# Alternative Service Addresses - Optional
|
||||
#
|
||||
# This is an advanced feature for users who may be running their immich services on different hosts.
|
||||
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
|
||||
# Note: immich-microservices is bound to 3002, but no references are made
|
||||
####################################################################################
|
||||
|
||||
IMMICH_WEB_URL=http://immich-web:3000
|
||||
IMMICH_SERVER_URL=http://immich-server:3001
|
||||
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
|
||||
7
compose.sh
Normal file → Executable file
7
compose.sh
Normal file → Executable file
@@ -3,6 +3,11 @@
|
||||
docker-compose \
|
||||
-f docker-compose.yml \
|
||||
-f composes/docker-compose.home.yml \
|
||||
-f composes/docker-compose.immich.yml \
|
||||
-f composes/docker-compose.immich.override.yml \
|
||||
-f composes/docker-compose.mainServices.yml \
|
||||
-f composes/docker-compose.media.yml \
|
||||
-f composes/docker-compose.traefik.yml $@
|
||||
-f composes/docker-compose.vscode.yml \
|
||||
-f composes/docker-compose.traefik.yml \
|
||||
--env-file=./envfiles/immich \
|
||||
$@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version: '3'
|
||||
version: "3"
|
||||
services:
|
||||
dynuddnskovacs:
|
||||
image: linuxserver/ddclient
|
||||
@@ -55,12 +55,12 @@ services:
|
||||
image: machines/filestash
|
||||
restart: always
|
||||
environment:
|
||||
- APPLICATION_URL=files.kovijoe.com
|
||||
- APPLICATION_URL=files.kovijoe.com
|
||||
#- "APPLICATION_URL=192.168.0.20:8334"
|
||||
volumes:
|
||||
- "/mnt/Data/.system/containerdata/filestash/data/:/app/data/state"
|
||||
ports:
|
||||
- "8334:8334"
|
||||
- "8334:8334"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.filestash.rule=Host(`files.kovijoe.com`)"
|
||||
@@ -108,24 +108,24 @@ services:
|
||||
aliases:
|
||||
- nginxshared
|
||||
|
||||
sharedsamba:
|
||||
image: dperson/samba
|
||||
environment:
|
||||
TZ: 'EST5EDT'
|
||||
container_name: sharedsamba
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp
|
||||
restart: unless-stopped
|
||||
stdin_open: true
|
||||
tty: true
|
||||
volumes:
|
||||
- /mnt/Data/Shared/Vendeg:/mnt/shared
|
||||
command: '-u "user;VendegJelszo123;1000" -s "Shared;/mnt/shared;yes;no;no;user"'
|
||||
networks:
|
||||
homenet:
|
||||
aliases:
|
||||
- sharedsamba
|
||||
# sharedsamba:
|
||||
# image: dperson/samba
|
||||
# environment:
|
||||
# TZ: "EST5EDT"
|
||||
# container_name: sharedsamba
|
||||
# read_only: true
|
||||
# tmpfs:
|
||||
# - /tmp
|
||||
# restart: unless-stopped
|
||||
# stdin_open: true
|
||||
# tty: true
|
||||
# volumes:
|
||||
# - /mnt/Data/Shared/Vendeg:/mnt/shared
|
||||
# command: '-u "user;VendegJelszo123;1000" -s "Shared;/mnt/shared;yes;no;no;user"'
|
||||
# networks:
|
||||
# homenet:
|
||||
# aliases:
|
||||
# - sharedsamba
|
||||
|
||||
sharedfilestash:
|
||||
container_name: sharedfilestash
|
||||
@@ -135,7 +135,7 @@ services:
|
||||
- "10000:8080"
|
||||
restart: always
|
||||
environment:
|
||||
- APPLICATION_URL=sharedup.kovijoe.com
|
||||
- APPLICATION_URL=sharedup.kovijoe.com
|
||||
volumes:
|
||||
- "/mnt/Data/.system/containerdata/sharedfilestash/data/:/app/data/state"
|
||||
labels:
|
||||
@@ -161,7 +161,7 @@ services:
|
||||
volumes:
|
||||
- "/mnt/Data/.system/containerdata/sharedsshfs/config/users.conf:/etc/sftp/users.conf:ro"
|
||||
- "/mnt/Data/.system/containerdata/sharedsshfs/init-scripts:/etc/sftp.d/"
|
||||
- /mnt/Data/Shared/Vendeg:/mnt/shared
|
||||
- "/mnt/Data/Shared/Vendeg:/mnt/shared"
|
||||
networks:
|
||||
homenet:
|
||||
aliases:
|
||||
|
||||
46
composes/docker-compose.immich.override.yml
Normal file
46
composes/docker-compose.immich.override.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
immich-proxy:
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.immich.rule=Host(`immich.kovijoe.com`)"
|
||||
- "traefik.http.routers.immich.entrypoints=https"
|
||||
- "traefik.http.routers.immich.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.immich.loadbalancer.server.port=8080"
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
immich-server:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
immich-microservices:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
immich-machine-learning:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
immich-web:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
redis:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
database:
|
||||
networks:
|
||||
homenet:
|
||||
|
||||
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
driver: local
|
||||
driver_opts:
|
||||
device: /mnt/Data/.system/containerdata/immich/dbdata/
|
||||
o: bind
|
||||
type: none
|
||||
95
composes/docker-compose.immich.yml
Normal file
95
composes/docker-compose.immich.yml
Normal file
@@ -0,0 +1,95 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: 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:
|
||||
container_name: 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:
|
||||
container_name: 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:
|
||||
container_name: immich_web
|
||||
image: altran1502/immich-web:release
|
||||
entrypoint: ["/bin/sh", "./entrypoint.sh"]
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
# Rename these values for svelte public interface
|
||||
- PUBLIC_IMMICH_SERVER_URL=${IMMICH_SERVER_URL}
|
||||
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
|
||||
environment:
|
||||
# Make sure these values get passed through from the env file
|
||||
- IMMICH_SERVER_URL
|
||||
- IMMICH_WEB_URL
|
||||
ports:
|
||||
- 2283:8080
|
||||
logging:
|
||||
driver: none
|
||||
depends_on:
|
||||
- immich-server
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
|
||||
@@ -161,4 +161,5 @@ services:
|
||||
- /mnt/Data/.system/containerdata/plex/transcode:/transcode
|
||||
- "Movies:/media/Movies"
|
||||
- "TvShows:/media/TvShows"
|
||||
- "Pictures:/media/Pictures"
|
||||
restart: unless-stopped
|
||||
20
composes/docker-compose.vscode.yml
Normal file
20
composes/docker-compose.vscode.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: '3'
|
||||
services:
|
||||
code-server:
|
||||
image: lscr.io/linuxserver/code-server
|
||||
container_name: code-server
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Europe/Budapest
|
||||
- PASSWORD=ConfigEditPw1234 #optional
|
||||
#- HASHED_PASSWORD="$$argon2i$$v=19$$m=4096,t=3,p=1$$NlfpYWMD5UHU1qigbL9/7g$$aLFz2ImLfuT85R5tda3Fo7rEaN/q6sYVfF7tVFq8cME"
|
||||
- SUDO_PASSWORD=ConfigEditPw1234 #optional
|
||||
#- SUDO_PASSWORD_HASH="$$argon2i$$v=19$$m=4096,t=3,p=1$$NlfpYWMD5UHU1qigbL9/7g$$aLFz2ImLfuT85R5tda3Fo7rEaN/q6sYVfF7tVFq8cME"
|
||||
#- PROXY_DOMAIN=code-server.my.domain #optional
|
||||
- DEFAULT_WORKSPACE=/data #optional
|
||||
volumes:
|
||||
- /mnt/Data/.system:/data
|
||||
ports:
|
||||
- 8443:8443
|
||||
restart: unless-stopped
|
||||
@@ -47,6 +47,13 @@ volumes:
|
||||
o: bind
|
||||
type: none
|
||||
|
||||
Pictures:
|
||||
driver: local
|
||||
driver_opts:
|
||||
device: /mnt/pictures
|
||||
o: bind
|
||||
type: none
|
||||
|
||||
TvShows:
|
||||
driver: local
|
||||
driver_opts:
|
||||
|
||||
78
envfiles/immich
Normal file
78
envfiles/immich
Normal file
@@ -0,0 +1,78 @@
|
||||
###################################################################################
|
||||
# Database
|
||||
###################################################################################
|
||||
|
||||
DB_HOSTNAME=immich_postgres
|
||||
DB_USERNAME=postgres1234
|
||||
DB_PASSWORD=postgres4321
|
||||
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=/mnt/Data/Pictures/immich
|
||||
|
||||
###################################################################################
|
||||
# Log message level - [simple|verbose]
|
||||
###################################################################################
|
||||
|
||||
LOG_LEVEL=simple
|
||||
|
||||
###################################################################################
|
||||
# JWT SECRET
|
||||
###################################################################################
|
||||
|
||||
JWT_SECRET=LBFMH/tHs3VgR922pWNCy7wctMVx28WMBuJVBUPwWEtRzkO9WqMayitya4BgLljBKj7NBxKFuBixjuPcvJeH8I01O+Q81aW7Pk4/vL036VLB6mjd5n7jVObqwiMO8PexHi6+nxsiuU4kKR9V9Kxsh4ayIOdY8RxdJvtlxsiMtAA=
|
||||
|
||||
###################################################################################
|
||||
# Reverse Geocoding
|
||||
####################################################################################
|
||||
|
||||
# DISABLE_REVERSE_GEOCODING=false
|
||||
|
||||
# Reverse geocoding is done locally which has a small impact on memory usage
|
||||
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
|
||||
# This ranges from 0-3 with 3 being the most precise
|
||||
# 3 - Cities > 500 population: ~200MB RAM
|
||||
# 2 - Cities > 1000 population: ~150MB RAM
|
||||
# 1 - Cities > 5000 population: ~80MB RAM
|
||||
# 0 - Cities > 15000 population: ~40MB RAM
|
||||
|
||||
# REVERSE_GEOCODING_PRECISION=3
|
||||
|
||||
####################################################################################
|
||||
# WEB - Optional
|
||||
####################################################################################
|
||||
|
||||
# Custom message on the login page, should be written in HTML form.
|
||||
# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
|
||||
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE=
|
||||
|
||||
####################################################################################
|
||||
# Alternative Service Addresses - Optional
|
||||
#
|
||||
# This is an advanced feature for users who may be running their immich services on different hosts.
|
||||
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
|
||||
# Note: immich-microservices is bound to 3002, but no references are made
|
||||
####################################################################################
|
||||
|
||||
IMMICH_WEB_URL=http://immich-web:3000
|
||||
IMMICH_SERVER_URL=http://immich-server:3001
|
||||
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
|
||||
Reference in New Issue
Block a user