# Warpgate Configuration # See: https://github.com/user/warpgate for documentation [connection] # Remote NAS Tailscale IP or hostname nas_host = "100.x.x.x" # SFTP username nas_user = "admin" # SFTP password (prefer key_file for security) # nas_pass = "your-password" # Path to SSH private key (recommended) # nas_key_file = "/root/.ssh/id_ed25519" # Target directory on NAS remote_path = "/volume1/photos" # SFTP port sftp_port = 22 # SFTP connection pool size sftp_connections = 8 [cache] # Cache storage directory (should be on SSD, prefer btrfs/ZFS filesystem) dir = "/mnt/ssd/warpgate" # Max cache size (leave room for dirty files during offline writes) max_size = "200G" # Max cache retention time max_age = "720h" # Minimum free space on cache disk min_free = "10G" [read] # Chunk size for large file reads chunk_size = "256M" # Max chunk auto-growth limit chunk_limit = "1G" # Read-ahead buffer for sequential reads read_ahead = "512M" # In-memory buffer size buffer_size = "256M" [bandwidth] # Upload (write-back) speed limit ("0" = unlimited) limit_up = "0" # Download (cache pull) speed limit ("0" = unlimited) limit_down = "0" # Enable adaptive write-back throttling (auto-reduce on congestion) adaptive = true [writeback] # Delay before async write-back to NAS write_back = "5s" # Concurrent upload transfers transfers = 4 [directory_cache] # Directory listing cache TTL (lower = faster remote change detection) cache_time = "1h" [protocols] # Enable SMB (Samba) sharing — primary for macOS/Windows enable_smb = true # Enable NFS export — for Linux clients enable_nfs = false # Enable WebDAV service — for mobile clients enable_webdav = false # NFS allowed network CIDR nfs_allowed_network = "192.168.0.0/24" # WebDAV listen port webdav_port = 8080 [mount] # FUSE mount point (all protocols share this) point = "/mnt/nas-photos" [warmup] # Auto-warmup configured paths on startup auto = true # [[warmup.rules]] # path = "2024" # newer_than = "30d" # # [[warmup.rules]] # path = "Lightroom/Catalog"