1
0
2026-05-15 21:42:50 +00:00

116 lines
3.9 KiB
YAML

services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
restart: unless-stopped
group_add:
- '107' #render
- '44' #video
volumes:
- ./cache/jellyfin/cache:/cache
- ./hdd0/jellyfin/config:/config
- type: bind
source: ./hdd0/media
target: /media
labels:
- traefik.enable=true
- traefik.http.routers.jellyfin.rule=Host(`jellyfin.bouvais.lu`)
- traefik.http.routers.jellyfin.entrypoints=websecure
- traefik.http.routers.jellyfin.tls.certresolver=myresolver
- traefik.http.services.jellyfin.loadbalancer.server.port=8096
filebrowser:
image: filebrowser/filebrowser:latest
container_name: filebrowser
restart: unless-stopped
environment:
TZ: Europe/Luxembourg
FB_BASEURL: /
volumes:
- ./config/filebrowser/filebrowser.json:/.filebrowser.json
- ./hdd0/filebrowser/filebrowser.db:/database.db
- ./hdd0/my_files:/srv
- ./hdd0/media:/srv/media
labels:
- traefik.enable=true
- traefik.http.routers.filebrowser.rule=Host(`files.bouvais.lu`)
- traefik.http.routers.filebrowser.entrypoints=websecure
- traefik.http.routers.filebrowser.tls.certresolver=myresolver
- traefik.http.services.filebrowser.loadbalancer.server.port=80
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: https://vault.bouvais.lu
SIGNUPS_ALLOWED: true
ADMIN_TOKEN: ${ADMIN_PASSWORD}
ports:
- "80:80"
volumes:
- ./hdd0/vaultwarden:/data/
labels:
- traefik.enable=true
- traefik.http.services.my-vaultwarden-service.loadbalancer.server.port=80
- traefik.http.routers.vaultwarden.rule=Host(`vault.bouvais.lu`)
- traefik.http.routers.vaultwarden.entrypoints=websecure
- traefik.http.routers.vaultwarden.tls.certresolver=myresolver
- 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.entrypoints=websecure
- traefik.http.routers.vaultwarden-admin.tls.certresolver=myresolver
- traefik.http.routers.vaultwarden-admin.middlewares=auth@docker
- traefik.http.routers.vaultwarden-admin.service=my-vaultwarden-service@docker
libreoffice:
image: lscr.io/linuxserver/libreoffice:latest
container_name: libreoffice
environment:
- PUID=1000
- PGID=1000
- CUSTOM_USER=adrien
- PASSWORD=${MASTER_PASSWORD}
- TZ=Europe/Luxembourg
ports:
- 3000:3000
- 3001:3001
volumes:
- ./hdd0/libreoffice:/config
- ./hdd0/my_files/:/data
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.libreoffice.rule=Host(`libreoffice.bouvais.lu`)
- traefik.http.routers.libreoffice.entrypoints=websecure
- traefik.http.routers.libreoffice.tls.certresolver=myresolver
- traefik.http.services.libreoffice.loadbalancer.server.port=3000
home:
image: registry.bouvais.lu/home:v0.1.4
container_name: home
restart: unless-stopped
depends_on:
- registry
labels:
- "traefik.enable=true"
- "traefik.http.routers.myapp.rule=Host(`home.bouvais.lu`)"
- "traefik.http.routers.myapp.entrypoints=websecure"
- "traefik.http.routers.myapp.tls.certresolver=myresolver"
- "traefik.http.services.myapp.loadbalancer.server.port=8080"
drawio:
image: jgraph/drawio:latest
container_name: drawio
restart: unless-stopped
environment:
- TZ=Europe/Luxembourg
labels:
- "traefik.enable=true"
- "traefik.http.routers.drawio.rule=Host(`draw.bouvais.lu`)"
- "traefik.http.routers.drawio.entrypoints=websecure"
- "traefik.http.routers.drawio.tls.certresolver=myresolver"
- "traefik.http.services.drawio.loadbalancer.server.port=8080"