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 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 actualbudget: image: actualbudget/actual-server:latest container_name: actualbudget restart: unless-stopped volumes: - ./hdd0/actualbudget:/data environment: - TZ=Europe/Luxembourg labels: - traefik.enable=true - traefik.http.routers.actualbudget.rule=Host(`budget.bouvais.lu`) - traefik.http.routers.actualbudget.entrypoints=websecure - traefik.http.routers.actualbudget.tls.certresolver=myresolver - traefik.http.services.actualbudget.loadbalancer.server.port=5006 vaultwarden: image: vaultwarden/server:1.33.2 container_name: vaultwarden restart: unless-stopped environment: DOMAIN: https://vault.bouvais.lu SIGNUPS_ALLOWED: false 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 siyuan: image: b3log/siyuan container_name: siyuan command: ['--workspace=/siyuan/workspace/'] volumes: - /siyuan/workspace:/siyuan/workspace - ./hdd0/siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: - TZ=Europe/Luxembourg - SIYUAN_ACCESS_AUTH_CODE=${SIYUAN_ACCESS_AUTH_CODE} labels: - traefik.enable=true - traefik.http.routers.siyuan.rule=Host(`notes.bouvais.lu`) - traefik.http.routers.siyuan.entrypoints=websecure - traefik.http.routers.siyuan.tls.certresolver=myresolver - traefik.http.services.siyuan.loadbalancer.server.port=6806 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 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