# harvest

harvest is a self-hosted downloaders app. Self-hosted seedbox to homelab sync. It is open source and self-hosted, installable on Unraid.

Canonical page: https://ourlocalhost.com/app/6836/harvest

## Description

Self-hosted seedbox to homelab sync. Pulls finished downloads from your seedbox over SFTP, FTP or FTPS to local folders on a schedule, verifies them, and keeps a ledger so a file you delete locally is never downloaded again.

## Platform availability

Available on 1 of 6 install platforms: Unraid.

## Health score

40/100 (Fair), based on 3 of 4 factors.
- Maintained: 72 (last commit 0 days ago)
- Popular: 6 (1 GitHub stars)
- Easy to install: 20 (1 install platform, Docker image)

## Links

- Unraid: https://ca.unraid.net/apps/harvest-1vmpuwj0qgx3s7?q=harvest
- GitHub: https://github.com/Pross/harvest

## Common questions

### Will a file I delete locally be downloaded again on the next run?

No. Each synced file is recorded in a ledger, local deletion is invisible, and rerunning a job does not re-download the same file.

### How does Harvest avoid Sonarr, Radarr, or Plex seeing half-written files?

It uses a settle check to skip incomplete or growing files, stages files in a hidden directory, verifies them, and atomically renames them into the target folder.

### How are interrupted or stalled downloads handled?

Killed or stalled downloads can resume where they left off, with progress checkpointed every 16 MB.

### Can a torrent client trigger a Harvest job?

Yes. Harvest supports webhook-triggered runs using job-scoped API tokens with Bearer auth, with copy-paste curl snippets for qBittorrent, rTorrent, and Deluge.

### How can the Harvest web UI be protected behind a reverse proxy?

It can use the built-in single-user login with scrypt-hashed passwords and CSRF-protected sessions, or set auth to none and rely on Origin and Host checks for reverse-proxy auth.

---
Source: Our Local Host (https://ourlocalhost.com/app/6836/harvest), the self-hosted and open-source app directory.
