version: "3.8"

services:
  qbitwebui:
    image: ghcr.io/maciejonos/qbitwebui:latest
    restart: unless-stopped
    environment:
      # Required: Encryption key for storing credentials (min 32 chars)
      - ENCRYPTION_KEY=${ENCRYPTION_KEY}
      # Optional: Server port (default: 3000)
      - PORT=${PORT:-3000}
      # Optional: Database location (default: ./data/qbitwebui.db)
      - DATABASE_PATH=${DATABASE_PATH:-/data/qbitwebui.db}
      # Optional: Salt file location (default: ./data/.salt)
      - SALT_PATH=${SALT_PATH:-/data/.salt}
      # Optional: Allow self-signed certificates for qBittorrent instances (default: false)
      # - ALLOW_SELF_SIGNED_CERTS=${ALLOW_SELF_SIGNED_CERTS:-false}
      # Optional: Disable authentication/login (single-user mode) (default: false)
      # - DISABLE_AUTH=${DISABLE_AUTH:-false}
      # Optional: Disable new registrations, creates default admin account (default: false)
      # - DISABLE_REGISTRATION=${DISABLE_REGISTRATION:-false}
      # Optional: Enable file browser by setting downloads path
      # - DOWNLOADS_PATH=/downloads
    volumes:
      - qbitwebui_data:/data
      # Optional: Mount downloads directory for file browser feature
      # Read-only mount (browse & download only):
      # - /path/to/your/downloads:/downloads:ro
      # Or read-write mount (enables delete/move/copy/rename):
      # - /path/to/your/downloads:/downloads
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 10s

volumes:
  qbitwebui_data:
