add docker stacks
This commit is contained in:
98
Immich/docker-compose.yaml
Normal file
98
Immich/docker-compose.yaml
Normal file
@@ -0,0 +1,98 @@
|
||||
version: "3.8"
|
||||
|
||||
#
|
||||
# WARNING: Make sure to use the docker-compose.yml of the current release:
|
||||
#
|
||||
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
|
||||
#
|
||||
# The compose file on main may not be compatible with the latest release.
|
||||
#
|
||||
|
||||
name: immich
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
command: [ "start.sh", "immich" ]
|
||||
volumes:
|
||||
- ${IMMICH_UPLOAD_DIR}:/usr/src/app/upload
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ${IMMICH_EXTERNAL_DIR}:/mnt/media:ro
|
||||
env_file:
|
||||
- stack.env
|
||||
ports:
|
||||
- ${IMMICH_PORT_HTTP}:3001
|
||||
- ${IMMICH_PORT_HTTPS}:443
|
||||
expose:
|
||||
- ${IMMICH_PORT_HTTP}
|
||||
- ${IMMICH_PORT_HTTPS}
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
|
||||
- traefik.http.routers.immich.entrypoints=web
|
||||
- traefik.http.routers.immich.rule=Host(`${IMMICH_URL}`)
|
||||
- traefik.http.routers.immich.middlewares=immich-https-redirect
|
||||
- traefik.http.middlewares.immich-https-redirect.redirectscheme.scheme=https
|
||||
|
||||
- traefik.http.routers.immich-secure.entrypoints=websecure
|
||||
- traefik.http.routers.immich-secure.rule=Host(`${IMMICH_URL}`)
|
||||
- traefik.http.routers.immich-secure.tls=true
|
||||
- traefik.http.routers.immich-secure.tls.certresolver=myresolver
|
||||
- traefik.http.services.immich-secure.loadbalancer.server.port=3001
|
||||
- traefik.http.services.immich-secure.loadbalancer.server.scheme=http
|
||||
|
||||
- traefik.docker.network=proxy
|
||||
|
||||
immich-microservices:
|
||||
container_name: immich_microservices
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
# extends:
|
||||
# file: hwaccel.yml
|
||||
# service: hwaccel
|
||||
command: [ "start.sh", "microservices" ]
|
||||
volumes:
|
||||
- ${IMMICH_UPLOAD_DIR}:/usr/src/app/upload
|
||||
- ${IMMICH_EXTERNAL_DIR}:/mnt/media:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- stack.env
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: always
|
||||
|
||||
immich-machine-learning:
|
||||
container_name: immich_machine_learning
|
||||
image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||||
volumes:
|
||||
- model-cache:/cache
|
||||
env_file:
|
||||
- stack.env
|
||||
restart: always
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: redis:6.2-alpine@sha256:c5a607fb6e1bb15d32bbcf14db22787d19e428d59e31a5da67511b49bb0f1ccc
|
||||
restart: always
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
|
||||
env_file:
|
||||
- stack.env
|
||||
environment:
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
volumes:
|
||||
- pgdata:/var/lib/postgresql/data
|
||||
restart: always
|
||||
|
||||
volumes:
|
||||
pgdata:
|
||||
model-cache:
|
||||
13
Immich/stack.env
Normal file
13
Immich/stack.env
Normal file
@@ -0,0 +1,13 @@
|
||||
IMMICH_PORT_HTTP=3001
|
||||
IMMICH_PORT_HTTPS=443
|
||||
|
||||
IMMICH_URL=immich.example.com
|
||||
IMMICH_EXTERNAL_DIR=/path/to/external/libraries
|
||||
IMMICH_UPLOAD_DIR=/path/to/immich/upload
|
||||
|
||||
IMMICH_VERSION=release
|
||||
DB_PASSWORD=YOUR_DB_PASSWORD
|
||||
DB_HOSTNAME=immich_postgres
|
||||
DB_USERNAME=postgres
|
||||
DB_DATABASE_NAME=immich
|
||||
REDIS_HOSTNAME=immich_redis
|
||||
Reference in New Issue
Block a user