| id | sidebar_position | title |
|---|---|---|
getting-started |
0 |
Getting Started |
import DockerCompose from "./_docker-compose.md";
Cross-seeding is the practice of downloading a torrent from one tracker and using that data to seed across other trackers. This results in minimal downloads and instant seeding, making it a great way to build ratio and contribute to the community.
:::info
This software is designed primarily for private trackers. If you plan on cross-seeding on public trackers, please see our FAQ for more details.
:::
The most efficient way to use cross-seed is to run it in daemon mode,
which continuously monitors for new downloads and cross-seeds them
automatically. Here's how to get everything up and running.
::::caution
cross-seed AND YOUR TORRENT CLIENT MUST BE ON THE SAME OS TO USE LINKING
(DOCKER ALWAYS RUNS ON LINUX, EVEN ON WINDOWS)
:::tip
You can still use cross-seed without linking, but the features will be
limited. This will be covered in depth later in this guide.
:::
::::
You can install cross-seed using one of the following methods:
You'll need Node.js 20 or greater. You can check your versions with the following commands:
node -v
nodejs -vIf the above commands returns a version number of 20.x.x or greater, you can
install cross-seed with the following command:
npm install -g cross-seed
cross-seed --versionFor Unraid installation, see the Unraid guide.
docker run ghcr.io/cross-seed/cross-seed:6 --version:::info TLDR—just show me the Docker Compose copypasta.
Here you go:
- Run the container once which will generate the config file.
- Then skip to Step 3: Edit the Config File.
Otherwise, continue with the following steps.
:::
You'll need to generate a configuration file before running the daemon. Both Docker and non-Docker users will use the same method for this.
:::info
How do I find the config file for cross-seed?
:::
Run the following command to generate a config file:
cross-seed gen-configDocker users can generate the config file by running the following command:
docker run \
-v /path/to/config:/config \
ghcr.io/cross-seed/cross-seed gen-config::::note
The configuration file uses JavaScript syntax, which means:
- Array/multi options must be enclosed in ['brac', 'kets'].
- Strings must be enclosed in "quotation" marks.
- Array elements and options must be separated by commas.
- Windows users will need to use
\\for paths.
:::danger
DO NOT remove options from the config file, this will cause errors.
:::
::::
Once you've created your config file, you'll need to fill in the necessary fields to connect to your torrent client and indexer. You will likely need to configure the following:
::::info Baseline Options
torznab: URLs of your Torznab indexers (from Prowlarr or Jackett)torrentClients: URLs of your torrent clients.linkDirs: Directories where your data is linked to (optional but strongly recommended)
:::tip
These settings are just the recommended starting point for cross-seed. The
Next Steps section below will guide you on how to configure
cross-seed to find all possible matches.
:::
::::
Here's an example of what your config.js might look like:
module.exports = {
torznab: [
"http://prowlarr:9696/1/api?apikey=12345",
"http://prowlarr:9696/2/api?apikey=12345",
],
torrentClients: [
"qbittorrent:http://user:pass@localhost:8080",
"deluge:http://:pass@localhost:8112/json",
"transmission:readonly:http://user:pass@localhost:9091/transmission/rpc",
"rtorrent:http://user:pass@localhost:8080/RPC2",
],
linkDirs: ["/data/torrents/SomeLinkDirName"],
... several other settings covered by the Next Steps section ...
};::::warning
The settings from the config template assumes you will be setting up linking. You will need to follow the linking tutorial for the config validation to pass.
:::tip
If you cannot use linking, the errors will guide you on what to change in the
config. You also may want to use
duplicateCategories: true if you are using
sonarr or radarr.
:::
::::
Once you've set up your configuration, you're ready to run the daemon. Start the daemon with this command:
cross-seed daemonOr, if you are using Docker, make sure to expose the paths cross-seed needs to access:
docker run -v /path/to/config:/config ghcr.io/cross-seed/cross-seed daemonAfter a few moments, you should see cross-seed automatically starting to
search for things in your catalog. It will also automatically scan your
trackers' RSS feeds for new releases you can cross-seed.
:::info
By default, RSS scans will happen every 30 minutes (determined by the
rssCadence option).
Bulk searches of 400 torrents in your catalog (determined by
searchLimit,
excludeRecentSearch, and
excludeOlder) will run daily (determined by
searchCadence).
:::
For now, you can leave the terminal open to keep the daemon running.
If any configuration issues arise, cross-seed will provide feedback in the
terminal, which helps guide you through fixing them. To see more detailed
output, which may help you debug your errors, you can use the --verbose flag:
cross-seed daemon --verboseRegardless of the --verbose flag, cross-seed will also always log the
verbose output to <your cross-seed config dir>/logs/verbose.current.log.
Some common errors are also listed in the FAQ and Troubleshooting page.
Once you have the daemon up and running, here are a few additional features to
get the most out of cross-seed:
- Managing the daemon with Docker or systemd for long-term use.
- Setting up partial matches to increase your seed size even more (at the cost of downloading a few extra NFO files).
- Setting up ID-based searching for better match rates by configuring Sonarr and Radarr
- Listening for announces to join new swarms as an uploader.
- Notifying cross-seed of completed downloads to search for new things more quickly.
- Data based matching to match torrents based on their data.
- Explore cross-seed's configuration options to customize
cross-seed's behavior to your liking.