Skip to content

Tide

Tide is Coral’s torrent download manager. It gives you a cleaner, self-hosted interface for adding torrents, managing queue order, limiting active downloads and seeders, adjusting file priorities, and inspecting live swarm health with an expandable piece map.

  • Quick add workflow from the home board, including clipboard paste for copied magnet links
  • True queue enforcement with max active downloads and max active seeders
  • Inline torrent details with on-demand piece map, tracker state, and peer list
  • Per-file piece selection priorities instead of metadata-only file toggles
  • Local SQLite persistence for queue state, torrent controls, and app settings
  • Basic auth support similar to Transmission for protecting the whole app
  • Configurable downloads directory via .env
  • Node.js 18+
  • pnpm
  • A system that can run WebTorrent in Node
  1. Clone the repository:
Terminal window
git clone https://github.com/Get-Coral/tide.git
cd tide
  1. Install dependencies:
Terminal window
pnpm install
  1. Create your local environment file:
Terminal window
cp .env.example .env
  1. Configure the important settings:
Terminal window
TIDE_DOWNLOADS_DIR=./data/downloads
TIDE_DATA_DIR=./data
TIDE_AUTH_USERNAME=admin
TIDE_AUTH_PASSWORD=change-me
  1. Start the app:
Terminal window
pnpm dev

Tide runs on http://localhost:3000.

Terminal window
TIDE_DOWNLOADS_DIR=./data/downloads
TIDE_DATA_DIR=./data
TIDE_AUTH_USERNAME=admin
TIDE_AUTH_PASSWORD=change-me

Tide stores persistent state in SQLite at ./data/tide.sqlite by default. That includes:

  • global queue settings
  • torrent control state
  • restored torrent sessions

Downloaded content goes to TIDE_DOWNLOADS_DIR. If that variable is missing, Tide falls back to ./data/downloads.

If both TIDE_AUTH_USERNAME and TIDE_AUTH_PASSWORD are set, Tide protects the entire UI and API behind HTTP basic auth.

  • Set queue order per torrent
  • Limit max active downloads
  • Limit max active seeders
  • Pause and resume torrents
  • Reannounce trackers on demand
  • Global download and upload limits
  • Per-torrent speed limits
  • Ratio-based stop rules
  • Seed-time stop rules
  • Toggle files on and off
  • Apply file priority levels
  • Convert priorities into piece selection behavior
  • Inspect a compact piece map before opening full details
  • Tracker status
  • Peer list
  • Piece completion overview
  • Availability indicators

Tide can run:

  • locally during development
  • in Docker
  • on a self-hosted server

Example Docker environment:

Terminal window
docker run -p 3000:3000 \
-e TIDE_DOWNLOADS_DIR=/downloads \
-e TIDE_AUTH_USERNAME=admin \
-e TIDE_AUTH_PASSWORD=change-me \
ghcr.io/get-coral/tide:latest

Get-Coral/tide on GitHub