BitMagnet is a self-hosted torrent search engine and DHT crawler that indexes magnet links from the BitTorrent network. It includes:
- Web UI
- Torrent metadata search
- DHT crawling
- PostgreSQL storage
- Servarr/Prowlarr integration
- GraphQL API
Official project: Bitmagnet GitHub Repository
Official docs: Bitmagnet Documentation
The recommended installation method is Docker Compose.
Requirements
Before installing, make sure your server has:
- Docker
- Docker Compose
- At least:
- 2 CPU cores
- 4 GB RAM
- SSD storage recommended
Docker Compose install docs: Docker Compose Installation Guide
Step 1 — Create Project Folder
mkdir -p ~/bitmagnet
cd ~/bitmagnet
Step 2 — Create docker-compose.yml
nano docker-compose.yml
Paste this:
services:
bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:latest
container_name: bitmagnet
ports:
# Web UI
- "3333:3333"
# BitTorrent DHT ports
- "3334:3334/tcp"
- "3334:3334/udp"
restart: unless-stopped
environment:
- POSTGRES_HOST=postgres
- POSTGRES_PASSWORD=postgres
# Optional:
# - TMDB_API_KEY=your_tmdb_api_key
volumes:
- ./config:/root/.config/bitmagnet
command:
- worker
- run
- --keys=http_server
- --keys=queue_server
- --keys=dht_crawler
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
container_name: bitmagnet-postgres
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=bitmagnet
- PGUSER=postgres
volumes:
- ./data/postgres:/var/lib/postgresql/data
shm_size: 1g
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 10s
start_period: 20s
This configuration is based on the official installation examples.
Step 3 — Start BitMagnet
Run:
docker compose up -d
This will:
- Pull BitMagnet image
- Pull PostgreSQL image
- Create containers
- Start DHT crawling
Step 4 — Verify Containers
Check running containers:
docker ps
You should see:
bitmagnetbitmagnet-postgres
Step 5 — Open Web Interface
Visit:
http://YOUR_SERVER_IP:3333
Example:
http://192.168.1.50:3333
Or locally:
http://localhost:3333
The UI should appear within about a minute after startup.
Step 6 — Allow Firewall Ports
If using Ubuntu UFW:
ufw allow 3333/tcp
ufw allow 3334/tcp
ufw allow 3334/udp
Then reload:
ufw reload
Step 7 — Check Logs
View live logs:
docker logs -f bitmagnet
You should eventually see crawler activity and indexed torrents appearing.
Optional — Add TMDB Metadata
BitMagnet can enrich movie and TV results using TMDB metadata.
Get API key from:
Then add:
- TMDB_API_KEY=your_key_here
Restart containers:
docker compose restart
Optional — Reverse Proxy with Nginx
Example Nginx config:
server {
server_name torrents.example.com;
location / {
proxy_pass http://127.0.0.1:3333;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Then enable SSL:
certbot --nginx
Update BitMagnet
docker compose down
docker pull ghcr.io/bitmagnet-io/bitmagnet:latest
docker compose up -d
Official upgrade instructions match this workflow.
Useful Commands
Stop
docker compose down
Restart
docker compose restart
View Logs
docker logs -f bitmagnet
Open CLI
docker exec -it bitmagnet bitmagnet