Removed useless quote and fix some indent
This commit is contained in:
parent
6eb8b29716
commit
9233278247
107
apps.yml
107
apps.yml
@ -1,17 +1,4 @@
|
|||||||
services:
|
services:
|
||||||
#memos:
|
|
||||||
# image: neosmemo/memos:stable
|
|
||||||
# container_name: memos
|
|
||||||
# restart: unless-stopped
|
|
||||||
# volumes:
|
|
||||||
# - "./hdd0/memos:/var/opt/memos"
|
|
||||||
# labels:
|
|
||||||
# - "traefik.enable=true"
|
|
||||||
# - "traefik.http.routers.memos.rule=Host(`notes.bouvais.lu`)"
|
|
||||||
# - "traefik.http.routers.memos.entrypoints=websecure"
|
|
||||||
# - "traefik.http.routers.memos.tls.certresolver=myresolver"
|
|
||||||
# - "traefik.http.services.memos.loadbalancer.server.port=5230"
|
|
||||||
|
|
||||||
jellyfin:
|
jellyfin:
|
||||||
image: jellyfin/jellyfin
|
image: jellyfin/jellyfin
|
||||||
container_name: jellyfin
|
container_name: jellyfin
|
||||||
@ -20,17 +7,17 @@ services:
|
|||||||
- '107' #render
|
- '107' #render
|
||||||
- '44' #video
|
- '44' #video
|
||||||
volumes:
|
volumes:
|
||||||
- "./cache/jellyfin/cache:/cache"
|
- ./cache/jellyfin/cache:/cache
|
||||||
- "./hdd0/jellyfin/config:/config"
|
- ./hdd0/jellyfin/config:/config
|
||||||
- type: bind
|
- type: bind
|
||||||
source: ./hdd0/media
|
source: ./hdd0/media
|
||||||
target: /media
|
target: /media
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.jellyfin.rule=Host(`jellyfin.bouvais.lu`)"
|
- traefik.http.routers.jellyfin.rule=Host(`jellyfin.bouvais.lu`)
|
||||||
- "traefik.http.routers.jellyfin.entrypoints=websecure"
|
- traefik.http.routers.jellyfin.entrypoints=websecure
|
||||||
- "traefik.http.routers.jellyfin.tls.certresolver=myresolver"
|
- traefik.http.routers.jellyfin.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
|
- traefik.http.services.jellyfin.loadbalancer.server.port=8096
|
||||||
|
|
||||||
filebrowser:
|
filebrowser:
|
||||||
image: filebrowser/filebrowser:latest
|
image: filebrowser/filebrowser:latest
|
||||||
@ -40,52 +27,52 @@ services:
|
|||||||
TZ: Europe/Luxembourg
|
TZ: Europe/Luxembourg
|
||||||
FB_BASEURL: /
|
FB_BASEURL: /
|
||||||
volumes:
|
volumes:
|
||||||
- "./config/filebrowser/filebrowser.json:/.filebrowser.json"
|
- ./config/filebrowser/filebrowser.json:/.filebrowser.json
|
||||||
- "./hdd0/filebrowser/filebrowser.db:/database.db"
|
- ./hdd0/filebrowser/filebrowser.db:/database.db
|
||||||
- "./hdd0/my_files:/srv"
|
- ./hdd0/my_files:/srv
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.filebrowser.rule=Host(`files.bouvais.lu`)"
|
- traefik.http.routers.filebrowser.rule=Host(`files.bouvais.lu`)
|
||||||
- "traefik.http.routers.filebrowser.entrypoints=websecure"
|
- traefik.http.routers.filebrowser.entrypoints=websecure
|
||||||
- "traefik.http.routers.filebrowser.tls.certresolver=myresolver"
|
- traefik.http.routers.filebrowser.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.filebrowser.loadbalancer.server.port=80"
|
- traefik.http.services.filebrowser.loadbalancer.server.port=80
|
||||||
|
|
||||||
actualbudget:
|
actualbudget:
|
||||||
image: actualbudget/actual-server:latest
|
image: actualbudget/actual-server:latest
|
||||||
container_name: actualbudget
|
container_name: actualbudget
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- "./hdd0/actualbudget:/data"
|
- ./hdd0/actualbudget:/data
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Luxembourg
|
- TZ=Europe/Luxembourg
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.actualbudget.rule=Host(`budget.bouvais.lu`)"
|
- traefik.http.routers.actualbudget.rule=Host(`budget.bouvais.lu`)
|
||||||
- "traefik.http.routers.actualbudget.entrypoints=websecure"
|
- traefik.http.routers.actualbudget.entrypoints=websecure
|
||||||
- "traefik.http.routers.actualbudget.tls.certresolver=myresolver"
|
- traefik.http.routers.actualbudget.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.actualbudget.loadbalancer.server.port=5006"
|
- traefik.http.services.actualbudget.loadbalancer.server.port=5006
|
||||||
|
|
||||||
vaultwarden:
|
vaultwarden:
|
||||||
image: vaultwarden/server:1.33.2
|
image: vaultwarden/server:1.33.2
|
||||||
container_name: vaultwarden
|
container_name: vaultwarden
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
DOMAIN: "https://vault.bouvais.lu"
|
DOMAIN: https://vault.bouvais.lu
|
||||||
SIGNUPS_ALLOWED: false
|
SIGNUPS_ALLOWED: false
|
||||||
volumes:
|
volumes:
|
||||||
- "./hdd0/vaultwarden:/data/"
|
- ./hdd0/vaultwarden:/data/
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.services.my-vaultwarden-service.loadbalancer.server.port=80"
|
- traefik.http.services.my-vaultwarden-service.loadbalancer.server.port=80
|
||||||
- "traefik.http.routers.vaultwarden.rule=Host(`vault.bouvais.lu`)"
|
- traefik.http.routers.vaultwarden.rule=Host(`vault.bouvais.lu`)
|
||||||
- "traefik.http.routers.vaultwarden.entrypoints=websecure"
|
- traefik.http.routers.vaultwarden.entrypoints=websecure
|
||||||
- "traefik.http.routers.vaultwarden.tls.certresolver=myresolver"
|
- traefik.http.routers.vaultwarden.tls.certresolver=myresolver
|
||||||
- "traefik.http.routers.vaultwarden.service=my-vaultwarden-service@docker"
|
- traefik.http.routers.vaultwarden.service=my-vaultwarden-service@docker
|
||||||
- "traefik.http.routers.vaultwarden-admin.rule=Host(`vault.bouvais.lu`) && PathPrefix(`/admin`)"
|
- traefik.http.routers.vaultwarden-admin.rule=Host(`vault.bouvais.lu`) && PathPrefix(`/admin`)
|
||||||
- "traefik.http.routers.vaultwarden-admin.entrypoints=websecure"
|
- traefik.http.routers.vaultwarden-admin.entrypoints=websecure
|
||||||
- "traefik.http.routers.vaultwarden-admin.tls.certresolver=myresolver"
|
- traefik.http.routers.vaultwarden-admin.tls.certresolver=myresolver
|
||||||
- "traefik.http.routers.vaultwarden-admin.middlewares=auth@docker"
|
- traefik.http.routers.vaultwarden-admin.middlewares=auth@docker
|
||||||
- "traefik.http.routers.vaultwarden-admin.service=my-vaultwarden-service@docker"
|
- traefik.http.routers.vaultwarden-admin.service=my-vaultwarden-service@docker
|
||||||
|
|
||||||
siyuan:
|
siyuan:
|
||||||
image: b3log/siyuan
|
image: b3log/siyuan
|
||||||
@ -93,17 +80,17 @@ services:
|
|||||||
command: ['--workspace=/siyuan/workspace/']
|
command: ['--workspace=/siyuan/workspace/']
|
||||||
volumes:
|
volumes:
|
||||||
- /siyuan/workspace:/siyuan/workspace
|
- /siyuan/workspace:/siyuan/workspace
|
||||||
- "./hdd0/siyuan/workspace:/siyuan/workspace"
|
- ./hdd0/siyuan/workspace:/siyuan/workspace
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Luxembourg
|
- TZ=Europe/Luxembourg
|
||||||
- SIYUAN_ACCESS_AUTH_CODE=${SIYUAN_ACCESS_AUTH_CODE}
|
- SIYUAN_ACCESS_AUTH_CODE=${SIYUAN_ACCESS_AUTH_CODE}
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.siyuan.rule=Host(`notes.bouvais.lu`)"
|
- traefik.http.routers.siyuan.rule=Host(`notes.bouvais.lu`)
|
||||||
- "traefik.http.routers.siyuan.entrypoints=websecure"
|
- traefik.http.routers.siyuan.entrypoints=websecure
|
||||||
- "traefik.http.routers.siyuan.tls.certresolver=myresolver"
|
- traefik.http.routers.siyuan.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.siyuan.loadbalancer.server.port=6806"
|
- traefik.http.services.siyuan.loadbalancer.server.port=6806
|
||||||
|
|
||||||
libreoffice:
|
libreoffice:
|
||||||
image: lscr.io/linuxserver/libreoffice:latest
|
image: lscr.io/linuxserver/libreoffice:latest
|
||||||
@ -115,14 +102,14 @@ services:
|
|||||||
- PASSWORD=${MASTER_PASSWORD}
|
- PASSWORD=${MASTER_PASSWORD}
|
||||||
- TZ=Europe/Luxembourg
|
- TZ=Europe/Luxembourg
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- 3000:3000
|
||||||
- "3001:3001"
|
- 3001:3001
|
||||||
volumes:
|
volumes:
|
||||||
- ./hdd0/libreoffice:/config
|
- ./hdd0/libreoffice:/config
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.libreoffice.rule=Host(`libreoffice.bouvais.lu`)"
|
- traefik.http.routers.libreoffice.rule=Host(`libreoffice.bouvais.lu`)
|
||||||
- "traefik.http.routers.libreoffice.entrypoints=websecure"
|
- traefik.http.routers.libreoffice.entrypoints=websecure
|
||||||
- "traefik.http.routers.libreoffice.tls.certresolver=myresolver"
|
- traefik.http.routers.libreoffice.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.libreoffice.loadbalancer.server.port=3000"
|
- traefik.http.services.libreoffice.loadbalancer.server.port=3000
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
services:
|
services:
|
||||||
gitea:
|
gitea:
|
||||||
image: "docker.gitea.com/gitea:1.23.8"
|
image: docker.gitea.com/gitea:1.23.8
|
||||||
container_name: gitea
|
container_name: gitea
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- GITEA_CUSTOM=/etc/gitea
|
- GITEA_CUSTOM=/etc/gitea
|
||||||
volumes:
|
volumes:
|
||||||
- "./hdd0/gitea:/data"
|
- ./hdd0/gitea:/data
|
||||||
- "./config/gitea:/etc/gitea"
|
- ./config/gitea:/etc/gitea
|
||||||
- "/etc/timezone:/etc/timezone:ro"
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- /etc/localtime:/etc/localtime:ro
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=true
|
- traefik.enable=true
|
||||||
# HTTP/S
|
# HTTP/S
|
||||||
|
@ -7,29 +7,29 @@ include:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: "traefik:v3.4"
|
image: traefik:v3.4
|
||||||
container_name: "traefik"
|
container_name: traefik
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
# HTTPS TSL stuff
|
# HTTPS TSL stuff
|
||||||
- "--providers.docker=true"
|
- --providers.docker=true
|
||||||
- "--providers.docker.exposedbydefault=false"
|
- --providers.docker.exposedbydefault=false
|
||||||
- "--entryPoints.websecure.address=:443"
|
- --entryPoints.websecure.address=:443
|
||||||
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
|
- --certificatesresolvers.myresolver.acme.tlschallenge=true
|
||||||
- "--certificatesresolvers.myresolver.acme.email=adrien.bouvais.pro@gmail.com"
|
- --certificatesresolvers.myresolver.acme.email=adrien.bouvais.pro@gmail.com
|
||||||
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" # Relative path on SSD
|
- --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json
|
||||||
# Enable Traefik API and Dashboard (securely)
|
# Enable Traefik API and Dashboard (securely)
|
||||||
- "--api.dashboard=true"
|
- --api.dashboard=true
|
||||||
- "--metrics.prometheus=true"
|
- --metrics.prometheus=true
|
||||||
- "--metrics.prometheus.buckets=0.1,0.3,1.2,5.0"
|
- --metrics.prometheus.buckets=0.1,0.3,1.2,5.0
|
||||||
- "--entryPoints.ssh.address=:2101"
|
- --entryPoints.ssh.address=:2101
|
||||||
- "--entrypoints.web.transport.respondingTimeouts.readTimeout=180m"
|
- --entrypoints.web.transport.respondingTimeouts.readTimeout=180m
|
||||||
- "--entrypoints.websecure.transport.respondingTimeouts.readTimeout=180m"
|
- --entrypoints.websecure.transport.respondingTimeouts.readTimeout=180m
|
||||||
# Logs - Traefik will write its logs to /logs within the container, which maps to /data/logs on host
|
# Logs - Traefik will write its logs to /logs within the container, which maps to /data/logs on host
|
||||||
- "--accesslog=true"
|
- --accesslog=true
|
||||||
- "--accesslog.format=json"
|
- --accesslog.format=json
|
||||||
- "--accesslog.filepath=/logs/access.log"
|
- --accesslog.filepath=/logs/access.log
|
||||||
- "--accesslog.bufferingSize=0"
|
- --accesslog.bufferingSize=0
|
||||||
ports:
|
ports:
|
||||||
- target: 443
|
- target: 443
|
||||||
published: 443
|
published: 443
|
||||||
@ -40,30 +40,30 @@ services:
|
|||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: host
|
mode: host
|
||||||
volumes:
|
volumes:
|
||||||
- "./letsencrypt:/letsencrypt"
|
- ./letsencrypt:/letsencrypt
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
- "./config/users.cred:/users.cred"
|
- ./config/users.cred:/users.cred
|
||||||
- "./hdd0/logs:/logs"
|
- ./hdd0/logs:/logs
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true"
|
||||||
# Dashboard Router
|
# Dashboard Router
|
||||||
- "traefik.http.routers.dashboard.rule=Host(`traefik.bouvais.lu`)"
|
- traefik.http.routers.dashboard.rule=Host(`traefik.bouvais.lu`)
|
||||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
- traefik.http.routers.dashboard.entrypoints=websecure
|
||||||
- "traefik.http.routers.dashboard.service=api@internal"
|
- traefik.http.routers.dashboard.service=api@internal
|
||||||
- "traefik.http.routers.dashboard.middlewares=auth@docker"
|
- traefik.http.routers.dashboard.middlewares=auth@docker
|
||||||
- "traefik.http.routers.dashboard.tls.certresolver=myresolver"
|
- traefik.http.routers.dashboard.tls.certresolver=myresolver
|
||||||
# Traefik Middleware
|
# Traefik Middleware
|
||||||
- "traefik.http.middlewares.auth.basicauth.usersfile=/users.cred"
|
- traefik.http.middlewares.auth.basicauth.usersfile=/users.cred
|
||||||
- "traefik.http.middlewares.ratelimit.ratelimit.average=20"
|
- traefik.http.middlewares.ratelimit.ratelimit.average=20
|
||||||
- "traefik.http.middlewares.ratelimit.ratelimit.burst=40"
|
- traefik.http.middlewares.ratelimit.ratelimit.burst=40
|
||||||
# bouvais.lu redirection
|
# bouvais.lu redirection
|
||||||
- "traefik.http.routers.bouvais-redirect.rule=Host(`bouvais.lu`)"
|
- traefik.http.routers.bouvais-redirect.rule=Host(`bouvais.lu`)
|
||||||
- "traefik.http.routers.bouvais-redirect.entrypoints=websecure"
|
- traefik.http.routers.bouvais-redirect.entrypoints=websecure
|
||||||
- "traefik.http.routers.bouvais-redirect.middlewares=redirect-to-gitea@docker"
|
- traefik.http.routers.bouvais-redirect.middlewares=redirect-to-gitea@docker
|
||||||
- "traefik.http.routers.bouvais-redirect.tls.certresolver=myresolver"
|
- traefik.http.routers.bouvais-redirect.tls.certresolver=myresolver
|
||||||
- "traefik.http.middlewares.redirect-to-gitea.redirectregex.regex=^https?://(www\\.)?bouvais\\.lu(.*)"
|
- traefik.http.middlewares.redirect-to-gitea.redirectregex.regex=^https?://(www\\.)?bouvais\\.lu(.*)
|
||||||
- "traefik.http.middlewares.redirect-to-gitea.redirectregex.replacement=https://git.bouvais.lu$${2}"
|
- traefik.http.middlewares.redirect-to-gitea.redirectregex.replacement=https://git.bouvais.lu$${2}
|
||||||
- "traefik.http.middlewares.redirect-to-gitea.redirectregex.permanent=true"
|
- traefik.http.middlewares.redirect-to-gitea.redirectregex.permanent=true
|
||||||
|
|
||||||
fail2ban:
|
fail2ban:
|
||||||
image: crazymax/fail2ban:1.1.0
|
image: crazymax/fail2ban:1.1.0
|
||||||
@ -74,11 +74,11 @@ services:
|
|||||||
- NET_RAW
|
- NET_RAW
|
||||||
network_mode: host
|
network_mode: host
|
||||||
volumes:
|
volumes:
|
||||||
- "./hdd0/fail2ban/data:/data"
|
- ./hdd0/fail2ban/data:/data
|
||||||
- "./hdd0/fail2ban/log:/var/log"
|
- ./hdd0/fail2ban/log:/var/log
|
||||||
- "./hdd0/logs:/logs:ro"
|
- ./hdd0/logs:/logs:ro
|
||||||
- "/etc/localtime:/etc/localtime:ro"
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- "/etc/timezone:/etc/timezone:ro"
|
- /etc/timezone:/etc/timezone:ro
|
||||||
environment:
|
environment:
|
||||||
- F2B_IPTABLES_CHAIN=DOCKER-USER
|
- F2B_IPTABLES_CHAIN=DOCKER-USER
|
||||||
|
|
||||||
@ -87,55 +87,55 @@ services:
|
|||||||
container_name: kopia
|
container_name: kopia
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
- server
|
- server
|
||||||
- start
|
- start
|
||||||
- --insecure
|
- --insecure
|
||||||
- --address=0.0.0.0:51515
|
- --address=0.0.0.0:51515
|
||||||
- --server-username=adrien
|
- --server-username=adrien
|
||||||
- --server-password=${MASTER_PASSWORD}
|
- --server-password=${MASTER_PASSWORD}
|
||||||
environment:
|
environment:
|
||||||
KOPIA_PASSWORD: ${MASTER_PASSWORD}
|
- KOPIA_PASSWORD=${MASTER_PASSWORD}
|
||||||
USER: "adrien"
|
- USER=adrien
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/kopia:/app/config
|
- ./config/kopia:/app/config
|
||||||
- ./cache/kopia:/app/cache
|
- ./cache/kopia:/app/cache
|
||||||
- ./hdd0/logs/:/app/logs
|
- ./hdd0/logs/:/app/logs
|
||||||
- ./hdd0:/hdd0
|
- ./hdd0:/hdd0
|
||||||
- ./hdd0_backups/kopia/dir:/repository
|
- ./hdd0_backups/kopia/dir:/repository
|
||||||
- ./hdd0_backups/kopia/shared:/tmp:shared
|
- ./hdd0_backups/kopia/shared:/tmp:shared
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.kopia.rule=Host(`kopia.bouvais.lu`)"
|
- traefik.http.routers.kopia.rule=Host(`kopia.bouvais.lu`)
|
||||||
- "traefik.http.routers.kopia.entrypoints=websecure"
|
- traefik.http.routers.kopia.entrypoints=websecure
|
||||||
- "traefik.http.routers.kopia.tls.certresolver=myresolver"
|
- traefik.http.routers.kopia.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.kopia.loadbalancer.server.port=51515"
|
- traefik.http.services.kopia.loadbalancer.server.port=51515
|
||||||
|
|
||||||
kopia-gcp:
|
kopia-gcp:
|
||||||
image: kopia/kopia:latest
|
image: kopia/kopia:latest
|
||||||
container_name: kopia-gcp
|
container_name: kopia-gcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
- server
|
- server
|
||||||
- start
|
- start
|
||||||
- --insecure
|
- --insecure
|
||||||
- --address=0.0.0.0:51516
|
- --address=0.0.0.0:51516
|
||||||
- --server-username=adrien
|
- --server-username=adrien
|
||||||
- --server-password=${MASTER_PASSWORD}
|
- --server-password=${MASTER_PASSWORD}
|
||||||
environment:
|
environment:
|
||||||
KOPIA_PASSWORD: ${MASTER_PASSWORD}
|
KOPIA_PASSWORD: ${MASTER_PASSWORD}
|
||||||
USER: "adrien"
|
USER: "adrien"
|
||||||
volumes:
|
volumes:
|
||||||
- ./config/kopia-gcp:/app/config
|
- ./config/kopia-gcp:/app/config
|
||||||
- ./cache/kopia-gcp:/app/cache
|
- ./cache/kopia-gcp:/app/cache
|
||||||
- ./hdd0/logs/gcp:/app/logs
|
- ./hdd0/logs/gcp:/app/logs
|
||||||
- ./hdd0:/hdd0
|
- ./hdd0:/hdd0
|
||||||
- ./kopia-gcp-key.json:/cred.json
|
- ./kopia-gcp-key.json:/cred.json
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.kopia_gcp.rule=Host(`kopia-gcp.bouvais.lu`)"
|
- traefik.http.routers.kopia_gcp.rule=Host(`kopia-gcp.bouvais.lu`)
|
||||||
- "traefik.http.routers.kopia_gcp.entrypoints=websecure"
|
- traefik.http.routers.kopia_gcp.entrypoints=websecure
|
||||||
- "traefik.http.routers.kopia_gcp.tls.certresolver=myresolver"
|
- traefik.http.routers.kopia_gcp.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.kopia_gcp.loadbalancer.server.port=51516"
|
- traefik.http.services.kopia_gcp.loadbalancer.server.port=51516
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image: minio/minio:latest
|
image: minio/minio:latest
|
||||||
@ -148,17 +148,17 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./hdd0/minio_data:/data
|
- ./hdd0/minio_data:/data
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true"
|
||||||
# Router and service for the MinIO API
|
# Router and service for the MinIO API
|
||||||
- "traefik.http.routers.minio-api.rule=Host(`minio-api.bouvais.lu`)"
|
- traefik.http.routers.minio-api.rule=Host(`minio-api.bouvais.lu`)
|
||||||
- "traefik.http.routers.minio-api.entrypoints=websecure"
|
- traefik.http.routers.minio-api.entrypoints=websecure
|
||||||
- "traefik.http.routers.minio-api.tls.certresolver=myresolver"
|
- traefik.http.routers.minio-api.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.minio-api-service.loadbalancer.server.port=9000"
|
- traefik.http.services.minio-api-service.loadbalancer.server.port=9000
|
||||||
- "traefik.http.routers.minio-api.service=minio-api-service"
|
- traefik.http.routers.minio-api.service=minio-api-service
|
||||||
|
|
||||||
# Router and service for the MinIO Console (WebUI)
|
# Router and service for the MinIO Console (WebUI)
|
||||||
- "traefik.http.routers.minio-console.rule=Host(`minio-console.bouvais.lu`)"
|
- traefik.http.routers.minio-console.rule=Host(`minio-console.bouvais.lu`)
|
||||||
- "traefik.http.routers.minio-console.entrypoints=websecure"
|
- traefik.http.routers.minio-console.entrypoints=websecure
|
||||||
- "traefik.http.routers.minio-console.tls.certresolver=myresolver"
|
- traefik.http.routers.minio-console.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.minio-console-service.loadbalancer.server.port=9001"
|
- traefik.http.services.minio-console-service.loadbalancer.server.port=9001
|
||||||
- "traefik.http.routers.minio-console.service=minio-console-service"
|
- traefik.http.routers.minio-console.service=minio-console-service
|
||||||
|
12
llm.yml
12
llm.yml
@ -6,11 +6,11 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./hdd0/openwebui:/app/backend/data
|
- ./hdd0/openwebui:/app/backend/data
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.openwebui.rule=Host(`openwebui.bouvais.lu`)"
|
- traefik.http.routers.openwebui.rule=Host(`openwebui.bouvais.lu`)
|
||||||
- "traefik.http.routers.openwebui.entrypoints=websecure"
|
- traefik.http.routers.openwebui.entrypoints=websecure
|
||||||
- "traefik.http.routers.openwebui.tls.certresolver=myresolver"
|
- traefik.http.routers.openwebui.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.openwebui.loadbalancer.server.port=8080"
|
- traefik.http.services.openwebui.loadbalancer.server.port=8080
|
||||||
environment:
|
environment:
|
||||||
OLLAMA_BASE_URLS: http://ollama:11434
|
OLLAMA_BASE_URLS: http://ollama:11434
|
||||||
|
|
||||||
@ -32,6 +32,6 @@ services:
|
|||||||
container_name: openwebui-pipelines
|
container_name: openwebui-pipelines
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "9099:9099"
|
- 9099:9099
|
||||||
volumes:
|
volumes:
|
||||||
- ./hdd0/openwebui-pipelines:/app/pipelines
|
- ./hdd0/openwebui-pipelines:/app/pipelines
|
||||||
|
@ -9,19 +9,19 @@ services:
|
|||||||
- ./config/prometheus:/etc/prometheus
|
- ./config/prometheus:/etc/prometheus
|
||||||
- ./hdd0/prometheus:/prometheus
|
- ./hdd0/prometheus:/prometheus
|
||||||
command:
|
command:
|
||||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
- --config.file=/etc/prometheus/prometheus.yml
|
||||||
- '--storage.tsdb.path=/prometheus'
|
- --storage.tsdb.path=/prometheus
|
||||||
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
|
- --web.console.libraries=/usr/share/prometheus/console_libraries
|
||||||
- '--web.console.templates=/usr/share/prometheus/consoles'
|
- --web.console.templates=/usr/share/prometheus/consoles
|
||||||
- '--web.enable-lifecycle'
|
- --web.enable-lifecycle
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.prometheus.rule=Host(`prometheus.bouvais.lu`)"
|
- traefik.http.routers.prometheus.rule=Host(`prometheus.bouvais.lu`)
|
||||||
- "traefik.http.routers.prometheus.entrypoints=websecure"
|
- traefik.http.routers.prometheus.entrypoints=websecure
|
||||||
- "traefik.http.routers.prometheus.tls.certresolver=myresolver"
|
- traefik.http.routers.prometheus.tls.certresolver=myresolver
|
||||||
- "traefik.http.routers.prometheus.service=prometheus"
|
- traefik.http.routers.prometheus.service=prometheus
|
||||||
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
|
- traefik.http.services.prometheus.loadbalancer.server.port=9090
|
||||||
- "traefik.http.routers.prometheus.middlewares=auth@docker"
|
- traefik.http.routers.prometheus.middlewares=auth@docker
|
||||||
depends_on:
|
depends_on:
|
||||||
- cadvisor
|
- cadvisor
|
||||||
- node-exporter
|
- node-exporter
|
||||||
@ -39,13 +39,13 @@ services:
|
|||||||
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_MY_PASSWORD}
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_MY_PASSWORD}
|
||||||
- GF_SERVER_ROOT_URL=https://grafana.bouvais.lu
|
- GF_SERVER_ROOT_URL=https://grafana.bouvais.lu
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true"
|
||||||
- "traefik.http.routers.grafana.rule=Host(`grafana.bouvais.lu`)"
|
- traefik.http.routers.grafana.rule=Host(`grafana.bouvais.lu`)
|
||||||
- "traefik.http.routers.grafana.entrypoints=websecure"
|
- traefik.http.routers.grafana.entrypoints=websecure
|
||||||
- "traefik.http.routers.grafana.tls.certresolver=myresolver"
|
- traefik.http.routers.grafana.tls.certresolver=myresolver
|
||||||
- "traefik.http.routers.grafana.service=grafana"
|
- traefik.http.routers.grafana.service=grafana
|
||||||
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
|
- traefik.http.services.grafana.loadbalancer.server.port=3000
|
||||||
- "traefik.http.routers.grafana.middlewares=auth@docker"
|
- traefik.http.routers.grafana.middlewares=auth@docker
|
||||||
depends_on:
|
depends_on:
|
||||||
- prometheus
|
- prometheus
|
||||||
|
|
||||||
@ -73,16 +73,16 @@ services:
|
|||||||
- /sys:/host/sys:ro
|
- /sys:/host/sys:ro
|
||||||
- /:/rootfs:ro
|
- /:/rootfs:ro
|
||||||
command:
|
command:
|
||||||
- '--path.procfs=/host/proc'
|
- --path.procfs=/host/proc
|
||||||
- '--path.sysfs=/host/sys'
|
- --path.sysfs=/host/sys
|
||||||
- '--path.rootfs=/rootfs'
|
- --path.rootfs=/rootfs
|
||||||
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)'
|
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)
|
||||||
|
|
||||||
nvidia-gpu-exporter:
|
nvidia-gpu-exporter:
|
||||||
image: utkuozdemir/nvidia_gpu_exporter:1.3.1
|
image: utkuozdemir/nvidia_gpu_exporter:1.3.1
|
||||||
container_name: nvidia-gpu-exporter
|
container_name: nvidia-gpu-exporter
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
privileged: true # This might be needed for full access to devices, or try without first
|
privileged: true
|
||||||
devices:
|
devices:
|
||||||
- /dev/nvidia0:/dev/nvidia0
|
- /dev/nvidia0:/dev/nvidia0
|
||||||
volumes:
|
volumes:
|
||||||
|
20
vms.yml
20
vms.yml
@ -13,11 +13,11 @@ services:
|
|||||||
-W
|
-W
|
||||||
bash
|
bash
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.arch.rule=Host(`arch.bouvais.lu`)"
|
- traefik.http.routers.arch.rule=Host(`arch.bouvais.lu`)
|
||||||
- "traefik.http.routers.arch.entrypoints=websecure"
|
- traefik.http.routers.arch.entrypoints=websecure
|
||||||
- "traefik.http.routers.arch.tls.certresolver=myresolver"
|
- traefik.http.routers.arch.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.arch.loadbalancer.server.port=7681"
|
- traefik.http.services.arch.loadbalancer.server.port=7681
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
@ -41,11 +41,11 @@ services:
|
|||||||
-W
|
-W
|
||||||
bash
|
bash
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- traefik.enable=true
|
||||||
- "traefik.http.routers.arch_gpu.rule=Host(`arch-gpu.bouvais.lu`)"
|
- traefik.http.routers.arch_gpu.rule=Host(`arch-gpu.bouvais.lu`)
|
||||||
- "traefik.http.routers.arch_gpu.entrypoints=websecure"
|
- traefik.http.routers.arch_gpu.entrypoints=websecure
|
||||||
- "traefik.http.routers.arch_gpu.tls.certresolver=myresolver"
|
- traefik.http.routers.arch_gpu.tls.certresolver=myresolver
|
||||||
- "traefik.http.services.arch_gpu.loadbalancer.server.port=7682"
|
- traefik.http.services.arch_gpu.loadbalancer.server.port=7682
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user