Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added bitmagnet/data/config/.gitkeep
Empty file.
Empty file.
53 changes: 53 additions & 0 deletions bitmagnet/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
version: "3.7"

services:
app_proxy:
environment:
APP_HOST: bitmagnet_bitmagnet_1
APP_PORT: 3333

bitmagnet:
image: ghcr.io/bitmagnet-io/bitmagnet:v0.10.0@sha256:cf2c16fac5b51f1c18e630b4710175d35d7e44b83012cfd05a2b43712feec05e
restart: on-failure
stop_grace_period: 1m
ports:

Check notice on line 13 in bitmagnet/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

External port mapping "3336:3334/udp"

Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).

Check notice on line 13 in bitmagnet/docker-compose.yml

View workflow job for this annotation

GitHub Actions / Lint apps

External port mapping "3336:3334/tcp"

Port mappings may be unnecessary for the app to function correctly. Docker's internal DNS resolves container names to IP addresses within the same network. External access to the web interface is handled by the app_proxy container. Port mappings are only needed if external access is required to a port not proxied by the app_proxy, or if an app needs to expose multiple ports for its functionality (e.g., DHCP, DNS, P2P, etc.).
- "3336:3334/tcp"
- "3336:3334/udp"
user: "1000:1000"
environment:
HOME: /tmp
XDG_CONFIG_HOME: /config
POSTGRES_HOST: bitmagnet_postgres_1
POSTGRES_USER: postgres
POSTGRES_PASSWORD: ${APP_PASSWORD}
POSTGRES_NAME: bitmagnet
volumes:
- ${APP_DATA_DIR}/data/config:/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@sha256:23e88eb049fd5d54894d70100df61d38a49ed97909263f79d4ff4c30a5d5fca2
restart: on-failure
user: "1000:1000"
environment:
POSTGRES_PASSWORD: ${APP_PASSWORD}
POSTGRES_DB: bitmagnet
POSTGRES_USER: postgres
PGUSER: postgres
shm_size: 1g
volumes:
- ${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- pg_isready
start_period: 20s
interval: 10s
47 changes: 47 additions & 0 deletions bitmagnet/umbrel-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
manifestVersion: 1
id: bitmagnet
category: media
name: Bitmagnet
version: "v0.10.0"
tagline: Self-hosted BitTorrent indexer and DHT crawler
description: >-
bitmagnet is a self-hosted BitTorrent indexer with a web UI, GraphQL API, and Servarr integration.


It crawls the BitTorrent DHT and indexes torrent metadata so you can search your own private index.


🧩 TORZNAB / SERVARR INTEGRATION


bitmagnet exposes a Torznab-compatible API at `/torznab` that you can add to Prowlarr and other Torznab-compatible apps on Umbrel.


In Prowlarr: Add Indexer → Generic Torznab


Torznab URL example:
- http://umbrel.local:3335/torznab


If you are configuring from another container on the same Docker network, you can typically use:
- http://bitmagnet_bitmagnet_1:3333/torznab


⚠️ bitmagnet currently has no authentication/access control; do not expose it publicly.
developer: bitmagnet
website: https://bitmagnet.io/
dependencies: []
repo: https://github.com/bitmagnet-io/bitmagnet
support: https://github.com/bitmagnet-io/bitmagnet/discussions
port: 3335
gallery:

Check warning on line 38 in bitmagnet/umbrel-app.yml

View workflow job for this annotation

GitHub Actions / Lint apps

"icon" and "gallery" needs to be empty for new app submissions

The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.
- 1.jpg
- 2.jpg
- 3.jpg
path: ""
defaultUsername: ""
defaultPassword: ""
torOnly: false
submitter: "besoeasy"
submission: "https://github.com/getumbrel/umbrel-apps/pull/4408"