Files
dotfiles/systems/jeeves/docker/haproxy.cfg

80 lines
2.1 KiB
INI

global
log stdout format raw local0
# stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
stats timeout 30s
defaults
log global
mode http
retries 3
maxconn 2000
timeout connect 5s
timeout client 50s
timeout server 50s
timeout http-request 10s
timeout http-keep-alive 2s
timeout queue 5s
timeout tunnel 2m
timeout client-fin 1s
timeout server-fin 1s
#Application Setup
frontend ContentSwitching
bind *:80
bind *:443 ssl crt /etc/ssl/certs/cloudflare.pem
mode http
# tmmworkshop.com
acl host_audiobookshelf hdr(host) -i audiobookshelf.tmmworkshop.com
acl host_cache hdr(host) -i cache.tmmworkshop.com
acl host_filebrowser hdr(host) -i filebrowser.tmmworkshop.com
acl host_homeassistant hdr(host) -i homeassistant.tmmworkshop.com
acl host_jellyfin hdr(host) -i jellyfin.tmmworkshop.com
acl host_photoprism hdr(host) -i photoprism.tmmworkshop.com
acl host_share hdr(host) -i share.tmmworkshop.com
acl host_uptime_kuma hdr(host) -i uptimekuma-jeeves.tmmworkshop.com
use_backend audiobookshelf_nodes if host_audiobookshelf
use_backend cache_nodes if host_cache
use_backend filebrowser_nodes if host_filebrowser
use_backend homeassistant_nodes if host_homeassistant
use_backend jellyfin if host_jellyfin
use_backend photoprism_nodes if host_photoprism
use_backend share_nodes if host_share
use_backend uptime_kuma_nodes if host_uptime_kuma
backend audiobookshelf_nodes
mode http
server server 192.168.90.40:8000
backend cache_nodes
mode http
server server 192.168.90.40:5000
backend filebrowser_nodes
mode http
server server 192.168.90.40:8080
backend homeassistant_nodes
mode http
server server 192.168.95.14:8123
backend jellyfin
option httpchk
option forwardfor
http-check send meth GET uri /health
http-check expect string Healthy
server jellyfin 192.168.95.14:8096
backend photoprism_nodes
mode http
server server photoprism:2342
backend share_nodes
mode http
server server share:80
backend uptime_kuma_nodes
mode http
server server uptime_kuma:3001