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.
Highlights
Section titled “Highlights”- 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
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Node.js 18+
- pnpm
- A system that can run WebTorrent in Node
Installation
Section titled “Installation”- Clone the repository:
git clone https://github.com/Get-Coral/tide.gitcd tide- Install dependencies:
pnpm install- Create your local environment file:
cp .env.example .env- Configure the important settings:
TIDE_DOWNLOADS_DIR=./data/downloadsTIDE_DATA_DIR=./dataTIDE_AUTH_USERNAME=adminTIDE_AUTH_PASSWORD=change-me- Start the app:
pnpm devTide runs on http://localhost:3000.
Configuration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”TIDE_DOWNLOADS_DIR=./data/downloadsTIDE_DATA_DIR=./dataTIDE_AUTH_USERNAME=adminTIDE_AUTH_PASSWORD=change-meStorage
Section titled “Storage”Tide stores persistent state in SQLite at ./data/tide.sqlite by default. That includes:
- global queue settings
- torrent control state
- restored torrent sessions
Downloads Directory
Section titled “Downloads Directory”Downloaded content goes to TIDE_DOWNLOADS_DIR. If that variable is missing, Tide falls back to ./data/downloads.
Basic Authentication
Section titled “Basic Authentication”If both TIDE_AUTH_USERNAME and TIDE_AUTH_PASSWORD are set, Tide protects the entire UI and API behind HTTP basic auth.
Features
Section titled “Features”Queue Management
Section titled “Queue Management”- Set queue order per torrent
- Limit max active downloads
- Limit max active seeders
- Pause and resume torrents
- Reannounce trackers on demand
Transfer Controls
Section titled “Transfer Controls”- Global download and upload limits
- Per-torrent speed limits
- Ratio-based stop rules
- Seed-time stop rules
File & Piece Controls
Section titled “File & Piece Controls”- Toggle files on and off
- Apply file priority levels
- Convert priorities into piece selection behavior
- Inspect a compact piece map before opening full details
Swarm Details
Section titled “Swarm Details”- Tracker status
- Peer list
- Piece completion overview
- Availability indicators
Deployment
Section titled “Deployment”Tide can run:
- locally during development
- in Docker
- on a self-hosted server
Example Docker environment:
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