Last updated on 6 May 2025
Summary: This guide covers how to self-host Bitmagnet, a powerful BitTorrent indexer and search engine, using Docker Compose. We detail the setup steps, including folder configuration, Docker Compose configuration, and integrating with other media tools. Perfect for tech enthusiasts eager to manage their torrent indexer.
What is Bitmagnet?
A self-hosted BitTorrent indexer, DHT crawler, content classifier, and torrent search engine with a web UI, GraphQL API, and Servarr stack integration.
Integrate Bitmagnet with your media stack by adding it to Prowlarr or directly to Radarr. Before you start, check the system requirements. It’s recommended to run this on an SSD with ample storage—my own database, which contains 17.3 million torrents, occupies around 123GB. Be mindful if you have a capped internet service, as initial data usage can be significant.
Let’s Begin
This guide walks you through steps to get Bitmagnet running in Docker Container Manager. We will utilize Docker Compose to streamline the setup.
Folder Setup
Start by creating necessary folders for the container. Open File Station and create the following:
/docker/projects/bitmagnet-compose
/docker/bitmagnet/postgres
/docker/bitmagnet/config
Container Manager
To set up a ‘Project’ in Container Manager, click on Project then ‘Create’. Set up the General Settings with:
Section | Setting |
---|---|
Project Name: | bitmagnet |
Path: | /docker/projects/bitmagnet-compose |
Source: | Create docker-compose.yml |
Non-VPN Docker Compose Configuration
services:
bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:latest
container_name: bitmagnet
user: 1234:65432 # Change as per your settings
environment:
- POSTGRES_HOST=bitmagnet-postgres
- POSTGRES_PASSWORD=postgres # Change as per your settings
- TMDB_ENABLED=false
volumes:
- /volume1/docker/bitmagnet/config:/root/.config/bitmagnet
command:
- worker
- run
ports:
- 3333:3333
network_mode: synobridge
security_opt:
- no-new-privileges:true
depends_on:
bitmagnet-postgres:
condition: service_healthy
restart: always
bitmagnet-postgres:
image: postgres:16-alpine
container_name: bitmagnet-postgres
volumes:
- /volume1/docker/bitmagnet/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=postgres # Change as per your settings
- POSTGRES_DB=bitmagnet
- PGUSER=postgres
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 60s
interval: 10s
shm_size: 1g
network_mode: synobridge
security_opt:
- no-new-privileges:true
restart: always
VPN (GlueTUN) Docker Compose Configuration
This setup uses the VPN container from a separate compose, ensuring seamless integration. For the database to remain local,
you will assign an IP address to Bitmagnet.
services:
bitmagnet:
network_mode: container:gluetun
# ... other configurations remain same ...
depends_on:
bitmagnet-postgres:
condition: service_healthy
restart: always
bitmagnet-postgres:
# ... same configurations as above
networks:
synobridge:
ipv4_address: 172.20.0.121 # Assign the desired IP here
Final Steps
After you have configured everything, your Bitmagnet should be accessible at http://your-nas-ip:3333
. New torrents will begin to populate after a brief scanning period.
FAQs
How can I customize the Bitmagnet interface?
Create a config.yml
file in /docker/bitmagnet/config
for further customization.
Where can I seek help if issues arise during setup?
Join our Discord community for assistance.
How can I backup my database?
Use the provided backup compose script to export your database as an SQL file.
This rewritten article is structured to include relevant keywords like “self-hosting,” “Docker Compose,” and “Bitmagnet.” It maintains a clear layout with engaging language and informative sections, ensuring smooth navigation and SEO optimization.
Read the original article