1
0

134 lines
4.9 KiB
YAML

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:
image: jellyfin/jellyfin
container_name: jellyfin
restart: unless-stopped
group_add:
- '107' #render
- '44' #video
volumes:
- "./cache/jellyfin:/cache"
- "./hdd0/jellyfin:/config"
- "./hdd0/media:/media"
- type: bind
source: /data/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"
affine:
image: ghcr.io/toeverything/affine-graphql:stable
container_name: affine
restart: unless-stopped
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
affine_migration:
condition: service_completed_successfully
volumes:
- /home/adrien/Web-stack/hdd0/affine/storage:/root/.affine/storage
- /home/adrien/Web-stack/config/affine:/root/.affine/config
environment:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/affine
- AFFINE_INDEXER_ENABLED=false
- AFFINE_SERVER_EXTERNAL_URL=https://affine.bouvais.lu
labels:
- "traefik.enable=true"
- "traefik.http.routers.affine.rule=Host(`affine.bouvais.lu`)"
- "traefik.http.routers.affine.entrypoints=websecure"
- "traefik.http.routers.affine.tls.certresolver=myresolver"
- "traefik.http.services.affine.loadbalancer.server.port=3010"
affine_migration:
image: ghcr.io/toeverything/affine-graphql:stable
container_name: affine_migration
volumes:
# custom configurations
- /home/adrien/Web-stack/hdd0/affine/storage:/root/.affine/storage
- /home/adrien/Web-stack/config/affine:/root/.affine/config
command: ['sh', '-c', 'node ./scripts/self-host-predeploy.js']
environment:
- REDIS_SERVER_HOST=redis
- DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/affine
- AFFINE_INDEXER_ENABLED=false
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy