Files
aad-local-file-share/docker-compose.yml
Ludwig Lehnert 70fe6076a4 initial commit
2026-02-03 16:39:37 +01:00

97 lines
2.8 KiB
YAML

services:
traefik:
image: traefik:v3.1
container_name: aad-files-traefik
restart: unless-stopped
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --providers.file.filename=/etc/traefik/dynamic.yml
- --entrypoints.web.address=:80
- --entrypoints.websecure.address=:443
- --api.dashboard=true
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik/traefik.yml:/etc/traefik/traefik.yml:ro
- ./traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro
- ./traefik/certs:/certs:ro
environment:
- TRAEFIK_HOSTNAME=${TRAEFIK_HOSTNAME}
webui:
build:
context: ./webui
container_name: aad-files-webui
restart: unless-stopped
environment:
- NODE_ENV=production
- ENTRA_TENANT_ID=${ENTRA_TENANT_ID}
- ENTRA_CLIENT_ID=${ENTRA_CLIENT_ID}
- ENTRA_CLIENT_SECRET=${ENTRA_CLIENT_SECRET}
- ENTRA_REDIRECT_URI=${ENTRA_REDIRECT_URI}
- ALLOWED_UPN_SUFFIX=${ALLOWED_UPN_SUFFIX}
- WEBUI_SESSION_SECRET=${WEBUI_SESSION_SECRET}
- DOMAIN_REALM=${DOMAIN_REALM}
- SAMBA_GENERATED_PATH=/samba-generated/shares.generated.conf
- DATA_ROOT=/data
- FILESVC_UID=10050
- FILESVC_GID=10050
volumes:
- /srv/files/data:/data
- samba-generated:/samba-generated
- webui-db:/var/lib/webui
labels:
- traefik.enable=true
- traefik.http.routers.webui.rule=Host(`${TRAEFIK_HOSTNAME}`)
- traefik.http.routers.webui.entrypoints=websecure
- traefik.http.routers.webui.tls=true
- traefik.http.services.webui.loadbalancer.server.port=3000
depends_on:
- samba
samba:
build:
context: ./samba
container_name: aad-files-samba
restart: unless-stopped
hostname: ${SAMBA_NETBIOS_NAME}
environment:
- DOMAIN_REALM=${DOMAIN_REALM}
- DOMAIN_WORKGROUP=${DOMAIN_WORKGROUP}
- DOMAIN_JOIN_USER=${DOMAIN_JOIN_USER}
- DOMAIN_JOIN_PASSWORD=${DOMAIN_JOIN_PASSWORD}
- SAMBA_NETBIOS_NAME=${SAMBA_NETBIOS_NAME}
- FILESVC_UID=10050
- FILESVC_GID=10050
ports:
- 445:445
volumes:
- /srv/files/data:/data
- samba-state:/var/lib/samba
- samba-cache:/var/cache/samba
- samba-generated:/samba-generated
backupd:
build:
context: ./backupd
container_name: aad-files-backupd
restart: unless-stopped
environment:
- BACKUP_CRON=${BACKUP_CRON}
- BACKUP_REMOTE_PATH=${BACKUP_REMOTE_PATH}
- BACKUP_COMPRESSION=${BACKUP_COMPRESSION}
- SQLITE_DB_PATH=/var/lib/webui/app.db
volumes:
- /srv/files/data:/data:ro
- /srv/files/remote-backup:/remote
- webui-db:/var/lib/webui:ro
volumes:
samba-generated:
samba-state:
samba-cache:
webui-db: