8.26更新:按置顶楼层代码部署简洁点
本文转自公众号 小侃聊NAS
开源应用Bitmagnet,它是一款自托管的BT索引器,具有网络搜索、内容分类、种子索引等功能,拥有它你就可以全网搜索活跃的电影、电视剧、电子书、音乐、软件和游戏资源了。搜出来的种子质量参差不齐,一些分享率高的资源下载速度能突破10M/s,那些冷门资源可能就是龟速了,有种开盲盒的感觉。
Bitmagnet由两个容器组成,bitmagnet和postgres,宜采用compose部署,在文件系统docker文件夹下创建bitmagnet文件夹
博主的原代码步进有点问题,我用AI修复了一下,可以用了,TMDB_API_KEY是用来刮削的,不知道怎么用,不太影响
装完点等一下,点右上角三角形,除了第3个关闭其他要是开启状态才是正常的,不行就重启一下


version: '3.8'  # 必须添加版本声明 [7,8](@ref)
services:
  bitmagnet:
    image: ghcr.io/bitmagnet-io/bitmagnet:latest
    container_name: bitmagnet
    ports:
      - "3333:3333"  # API/WebUI
      - "3334:3334/tcp"  # BitTorrent TCP
      - "3334:3334/udp"  # BitTorrent UDP (协议分开定义)
    restart: unless-stopped
    environment:
      POSTGRES_HOST: postgres  # 环境变量改为键值对格式 [6,8](@ref)
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      TMDB_API_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  # 移除重复项
    command:
      - worker
      - run
      - --keys=http_server
      - --keys=queue_server
      - --keys=dht_crawler  # 启用DHT爬虫
    depends_on:
      postgres:
        condition: service_healthy  # 依赖健康检查 [8](@ref)
  postgres:
    image: postgres:16-alpine  # 使用官方镜像名
    container_name: bitmagnet-postgres
    volumes:
      - postgres_data:/var/lib/postgresql/data  # 改用命名卷保证数据持久化 [8](@ref)
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: bitmagnet
      POSTGRES_USER: postgres  # 修正变量名为标准名称
      # 移除 TMDB_API_KEY(数据库无需此变量)
    shm_size: 1g
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]  # 必须指定用户 [8](@ref)
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 20s
volumes:
  postgres_data:  # 声明命名卷 [6,8](@ref)