LinuxWindows

Where Does cross-seed Store Its Config?

cross-seed keeps config.js, its SQLite database, and logs in one directory. Docker mounts it at /config; natives use the home folder.

Last updated

cross-seed stores everything beside config.js. That directory holds the SQLite database tracking all snatches, the torrent_cache of grabbed .torrent files, and logs with verbose.current.log as the troubleshooting staple. The default output folder for cross seeds lands here too unless outputDir points elsewhere.

Docker users mount a host folder at /config and generate the file with gen-config. Native installs follow the OS: ~/.cross-seed on Linux, AppData Local on Windows. Windows deserves a warning. Run cross-seed natively when the torrent client is on Windows; Docker Desktop hides Windows paths from linking and data matching, which breaks core features.

Where cross-seed stores this, by platform

Linux
~/.cross-seed (native) or /config (Docker)

config.js plus cross-seed.db, torrent_cache/, and logs/. Generate with cross-seed gen-config. Never use the output folder as a client watch folder; injections retry from there and clients would loop.

Windows
%LOCALAPPDATA%\cross-seed

Same layout under the local app data folder. Prefer native npm installs over Docker Desktop on Windows so dataDirs and linkDirs resolve to real drive paths.

Frequently asked questions

how do i migrate cross-seed to a new server

Copy the whole config directory (config.js, cross-seed.db, torrent_cache, logs) with the daemon stopped. Restore to the same path on the new host. The database tracks every snatch, so a lone config.js re-searches everything.

can i change the cross-seed config directory

With -c or the CONFIG_DIR variable. Native installs default to ~/.cross-seed on Linux, %LOCALAPPDATA%\cross-seed on Windows, ~/.cross-seed on macOS. Docker defaults to /config.

Notice an outdated path? Let us know.