add Immich photo management services and HAProxy configuration to docker-compose.yml
All checks were successful
Portainer Stack Update / update_stack (push) Successful in 15s
All checks were successful
Portainer Stack Update / update_stack (push) Successful in 15s
This commit is contained in:
parent
2b8e4d4d6e
commit
5ced510699
22
photo/configs/haproxy.cfg
Normal file
22
photo/configs/haproxy.cfg
Normal file
@ -0,0 +1,22 @@
|
||||
global
|
||||
log stdout format raw local0 debug
|
||||
user root
|
||||
group root
|
||||
daemon
|
||||
|
||||
defaults
|
||||
log global
|
||||
mode tcp
|
||||
option tcplog
|
||||
option dontlognull
|
||||
timeout connect 5000
|
||||
timeout client 50000
|
||||
timeout server 50000
|
||||
|
||||
listen redis
|
||||
bind *:6379
|
||||
server redis services_redis:6379
|
||||
|
||||
listen database
|
||||
bind *:5432
|
||||
server database database_postgres:5432
|
||||
158
photo/docker-compose.yml
Normal file
158
photo/docker-compose.yml
Normal file
@ -0,0 +1,158 @@
|
||||
version: '3.8'
|
||||
|
||||
x-traefik-enable-labels: &traefik-labels
|
||||
traefik.enable: "true"
|
||||
traefik.swarm.network: "traefik"
|
||||
traefik.constraint-label: "traefik"
|
||||
|
||||
x-api-deploy: &api-deployment
|
||||
mode: replicated
|
||||
update_config:
|
||||
parallelism: 1
|
||||
delay: 5s
|
||||
order: stop-first
|
||||
failure_action: rollback
|
||||
rollback_config:
|
||||
order: stop-first
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
delay: 5s
|
||||
max_attempts: 3
|
||||
window: 120s
|
||||
|
||||
services:
|
||||
immich:
|
||||
image: ghcr.io/immich-app/immich-server:v1.138.1
|
||||
networks:
|
||||
- local
|
||||
- traefik
|
||||
- public
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
- NO_COLOR=true
|
||||
- IMMICH_LOG_LEVEL=log
|
||||
- DB_HOSTNAME=database
|
||||
- DB_USERNAME=${DB_USERNAME}
|
||||
- DB_PASSWORD_FILE=/run/secrets/db_password
|
||||
- DB_DATABASE_NAME=immich
|
||||
- REDIS_HOSTNAME=redis
|
||||
- REDIS_PORT=6379
|
||||
secrets:
|
||||
- db_password
|
||||
volumes:
|
||||
- data:/data
|
||||
- thumbnail:/data/thumbs
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
deploy:
|
||||
replicas: 1
|
||||
<<: *api-deployment
|
||||
resources:
|
||||
limits:
|
||||
memory: 2G
|
||||
cpus: '2'
|
||||
reservations:
|
||||
memory: 512M
|
||||
cpus: '0.5'
|
||||
placement:
|
||||
constraints:
|
||||
- node.labels.immich == thumbnail
|
||||
labels:
|
||||
<<: *traefik-labels
|
||||
traefik.http.routers.gitea.rule: "Host(`photo.szabolcsi.eu`)"
|
||||
traefik.http.routers.gitea.entrypoints: "https"
|
||||
traefik.http.routers.gitea.tls: "true"
|
||||
traefik.http.routers.gitea.tls.certresolver: "letsencrypt"
|
||||
traefik.http.services.gitea.loadbalancer.server.port: "2283"
|
||||
|
||||
machine-learning:
|
||||
image: ghcr.io/immich-app/immich-machine-learning:v1.138.1
|
||||
networks:
|
||||
- local
|
||||
- public
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
volumes:
|
||||
- cache:/cache
|
||||
deploy:
|
||||
replicas: 1
|
||||
<<: *api-deployment
|
||||
resources:
|
||||
limits:
|
||||
memory: 4G # ML modellek több memóriát igényelhetnek
|
||||
cpus: '4'
|
||||
reservations:
|
||||
memory: 1G
|
||||
cpus: '1'
|
||||
placement:
|
||||
constraints:
|
||||
- node.labels.immich == model-cache
|
||||
|
||||
|
||||
proxy:
|
||||
image: haproxy:3.1.7-alpine
|
||||
networks:
|
||||
local:
|
||||
aliases:
|
||||
- redis
|
||||
- database
|
||||
services:
|
||||
aliases:
|
||||
- photo-haproxy
|
||||
database:
|
||||
aliases:
|
||||
- photo-haproxy
|
||||
configs:
|
||||
- source: haproxy
|
||||
target: /usr/local/etc/haproxy/haproxy.cfg
|
||||
deploy:
|
||||
replicas: 1
|
||||
<<: *api-deployment
|
||||
|
||||
|
||||
networks:
|
||||
local:
|
||||
name: immich
|
||||
driver: overlay
|
||||
internal: true
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.30.17.0/24
|
||||
traefik:
|
||||
external: true
|
||||
services:
|
||||
external: true
|
||||
public:
|
||||
name: base-public
|
||||
external: true
|
||||
database:
|
||||
external: true
|
||||
|
||||
|
||||
volumes:
|
||||
database:
|
||||
name: immich-database
|
||||
driver: local
|
||||
data:
|
||||
name: immich-data
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/nfs_share/photo/data"
|
||||
o: "addr=10.0.0.3,rw,soft,nfsvers=4"
|
||||
thumbnail:
|
||||
name: immich-thumbnail
|
||||
driver: local
|
||||
cache:
|
||||
name: immich-model-cache
|
||||
driver: local
|
||||
|
||||
configs:
|
||||
haproxy:
|
||||
name: "${HAPROXY_CONFIG_NAME}"
|
||||
external: true
|
||||
|
||||
secrets:
|
||||
db_password:
|
||||
name: postgres-password
|
||||
external: true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user