Favicon of bitmagnet

bitmagnet

Build your own torrent search engine using a self-hosted DHT crawler. Automatically classify content, search metadata, and integrate with the Servarr stack.

Take control of media discovery with a fully self-contained torrent indexer. Unlike traditional setups relying on external trackers, this tool uses a powerful DHT crawler to independently discover and index content directly from the global Distributed Hash Table network. It constantly finds new info hashes, requests metadata, and builds a comprehensive database of available torrents.

Once discovered, the built-in content classifier automatically organizes the data, identifying attributes like language, resolution, and source quality while enriching it with metadata from sources like TMDB.

Key features include:

  • Autonomous DHT Crawling: Discover peers and content without relying on centralized trackers.
  • Advanced Content Classification: Automatically categorize movies and TV shows.
  • Servarr Stack Integration: Connect seamlessly with tools like Prowlarr.
  • GraphQL API & Web UI: Manage and search indexed content through a responsive dashboard.

Directory Structure

bitmagnet
data
.env
docker-compose.yml

docker-compose.yml

services:
  bitmagnet:
    image: ghcr.io/bitmagnet-io/bitmagnet:latest
    container_name: bitmagnet
    ports:
      - "3333:3333"
      - "3334:3334/tcp"
      - "3334:3334/udp"
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
      - POSTGRES_DB=bitmagnet
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - REDIS_ADDR=redis:6379
      - TMDB_API_KEY=${TMDB_API_KEY}
    volumes:
      - ./data/bitmagnet:/root/.config/bitmagnet
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy

  postgres:
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    container_name: bitmagnet-postgres
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=bitmagnet
      - POSTGRES_USER=postgres
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      start_period: 20s
      interval: 10s

  redis:
    image: redis:7-alpine
    container_name: bitmagnet-redis
    volumes:
      - ./data/redis:/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
      start_period: 20s
      interval: 10s

.env

POSTGRES_PASSWORD=change_me_to_a_secure_password
TMDB_API_KEY=your_tmdb_api_key_optional
Categories:

Share:

Ad
Favicon

 

  
 

Similar to bitmagnet

Favicon

 

  
  
Favicon

 

  
  
Favicon