version: '3.9' services: # Redis for session management redis: image: redis:7-alpine command: redis-server --appendonly yes volumes: - /mnt/DockerMount/minio-webui/redis:/data networks: - minio-webui-network deploy: restart_policy: condition: any # Combined app (backend + frontend) app: image: registry.local.nothaft.cloud/minio-webui:latest environment: - NODE_ENV=production - PORT=3000 - JWT_SECRET=${JWT_SECRET} - ADMIN_PASSWORD_HASH=${ADMIN_PASSWORD_HASH} - SESSION_TIMEOUT=${SESSION_TIMEOUT:-3600} - LOG_LEVEL=${LOG_LEVEL:-info} - REDIS_HOST=redis - REDIS_PORT=6379 # Optional: Default MinIO connection (can also be added via UI) - DEFAULT_MINIO_ALIAS=${DEFAULT_MINIO_ALIAS:-} - MINIO_ENDPOINT=${MINIO_ENDPOINT:-} - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY:-} - MINIO_SECRET_KEY=${MINIO_SECRET_KEY:-} # Optional: IP restriction - ENABLE_IP_RESTRICTION=${ENABLE_IP_RESTRICTION:-false} - ALLOWED_IPS=${ALLOWED_IPS:-} # Optional: Email reports - SMTP_HOST=${SMTP_HOST:-} - SMTP_PORT=${SMTP_PORT:-587} - SMTP_SECURE=${SMTP_SECURE:-false} - SMTP_USER=${SMTP_USER:-} - SMTP_PASS=${SMTP_PASS:-} - REPORT_SENDER=${REPORT_SENDER:-} - REPORT_RECIPIENT=${REPORT_RECIPIENT:-} - REPORT_SCHEDULE=${REPORT_SCHEDULE:-0 0 * * 1} volumes: - /mnt/DockerMount/minio-webui/logs:/app/logs - /mnt/DockerMount/minio-webui/temp:/app/temp - /mnt/DockerMount/minio-webui/mc-config:/home/nodejs/.mc depends_on: - redis deploy: restart_policy: condition: any labels: - "traefik.enable=true" - "traefik.http.routers.minio-webui.rule=Host(`minio-webui.local.nothaft.cloud`)" - "traefik.http.routers.minio-webui.entrypoints=https" - "traefik.http.routers.minio-webui.tls.certresolver=dns" - "traefik.http.services.minio-webui.loadbalancer.server.port=80" - "traefik.docker.network=proxy" # Homepage integration - "homepage.group=Infrastructure" - "homepage.name=MinIO WebUI" - "homepage.icon=mdi-database" - "homepage.href=https://minio-webui.local.nothaft.cloud/" - "homepage.description=MinIO Storage Manager" networks: - minio-webui-network - proxy networks: proxy: external: true minio-webui-network: