version: '3.8' # PBS Client for Windows # Backs up C:\ drive (or other drives as needed) services: pbs-client: image: pbsclient:latest container_name: pbs-backup-client hostname: ${COMPUTERNAME:-windows-host} restart: unless-stopped environment: # Required: PBS Server Configuration PBS_REPOSITORY: "backup@pbs!token@192.168.1.181:8007:backups" PBS_PASSWORD: "your-api-token-secret-here" # Container Mode MODE: daemon # Backup Configuration BACKUP_SCHEDULE: "0 2 * * *" # Daily at 2 AM BACKUP_PATHS: "/host-data" # Windows-specific exclusions EXCLUDE_PATTERNS: "/host-data/Windows/Temp /host-data/Windows/Logs /host-data/ProgramData/Microsoft/Windows/WER /host-data/ProgramData/Package Cache /host-data/Users/*/AppData/Local/Temp /host-data/Users/*/AppData/Local/Microsoft/Windows/INetCache /host-data/pagefile.sys /host-data/hiberfil.sys /host-data/swapfile.sys" CONTAINER_HOSTNAME: "${COMPUTERNAME:-windows-host}" # Retention Policy KEEP_LAST: 3 KEEP_DAILY: 7 KEEP_WEEKLY: 4 KEEP_MONTHLY: 6 # Optional: API Server ENABLE_API: "true" API_PORT: 8080 # Timezone TIMEZONE: "America/New_York" volumes: # Mount Windows C:\ drive # Note: You can add additional drives like D:\, E:\, etc. - C:\:/host-data:ro # Persistent config and logs - pbs-config:/config - pbs-logs:/logs ports: # API port (optional) - "8080:8080" # Health check healthcheck: test: ["/usr/local/bin/healthcheck"] interval: 5m timeout: 10s retries: 3 start_period: 30s volumes: pbs-config: name: pbs-client-config pbs-logs: name: pbs-client-logs # To run on Windows: # 1. Install Docker Desktop for Windows # 2. Edit PBS_REPOSITORY and PBS_PASSWORD above # 3. Run: docker-compose -f docker-compose-windows.yml up -d # # To add additional drives (e.g., D:\): # - Add another volume mount: - D:\:/host-data-d:ro # - Update BACKUP_PATHS: "/host-data /host-data-d"