Skip to main content

Getting Started

Introduction

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.


Setting Up the Daemon

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.

1. Install cross-seed

caution

cross-seed AND YOUR TORRENT CLIENT MUST BE ON THE SAME OS TO USE LINKING (DOCKER ALWAYS RUNS ON LINUX, EVEN ON WINDOWS)

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.

npm install -g cross-seed
cross-seed --version

With Unraid

For Unraid installation, see the Unraid guide.

With Docker

docker run ghcr.io/cross-seed/cross-seed:6 --version
TLDR—just show me the Docker Compose copypasta.

Here you go:

version: "2.1"
services:
cross-seed:
image: ghcr.io/cross-seed/cross-seed:6
container_name: cross-seed
user: 1000:1000 # optional but recommended
ports:
- "2468:2468"
volumes:
- /path/to/config/folder:/config
- # You will need at least one extra volume for your media drive if using https://www.cross-seed.org/docs/tutorials/linking
command: daemon
restart: unless-stopped

Otherwise, continue with the following steps.

2. Create a Config File

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.

For non-Docker users:

Run the following command to generate a config file:

cross-seed gen-config

For Docker users:

Docker 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

3. Edit the Config File

info

The configuration file uses JavaScript syntax, which means:

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:

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://localhost:9696/1/api?apikey=123456"],
qbittorrentUrl: "http://username:password@localhost:8080",
linkDirs: ["/data/torrents/SomeLinkDirName"],
... several other settings you can read later ...
};

4. Run the Daemon

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.

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 daemon

Or, 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 daemon

After 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.

Troubleshooting

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 --verbose

Regardless 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.


Next Steps

Once you have the daemon up and running, here are a few additional features to get the most out of cross-seed: