BitMagnet 配置项与 Docker 部署指南

学习笔记作者:admin日期:2025-07-21点击:25

摘要:本文详细介绍了 BitMagnet 的配置项及其影响,并提供了 Docker 部署方案,包括配置文件挂载方法和优化建议。

BitMagnet 配置项详解

      以下是对 BitMagnet 配置项的详细解释及其影响:

1. Classifier(分类器)

  • classifier.delete_xxx: 如果启用,将删除特定类型的文件。
  • classifier.extensions: 文件扩展名映射,用于分类不同类型的文件。
  • classifier.flags: 分类标志,可能用于标记文件类型。
  • classifier.keywords: 关键字列表,用于匹配文件内容进行分类。
  • classifier.workflow: 工作流配置,指定分类过程。

2. DHT Crawler(DHT 爬虫)

  • dht_crawler.bootstrap_nodes: 初始节点列表,用于连接 DHT 网络。
  • dht_crawler.rescrape_threshold: 重新抓取间隔时间。
  • dht_crawler.reseed_bootstrap_nodes_interval: 重新连接初始节点的间隔。
  • dht_crawler.save_files_threshold: 保存文件的最大数量。
  • dht_crawler.save_pieces: 是否保存文件片段。
  • dht_crawler.scaling_factor: 缩放因子,影响爬虫性能。

3. DHT Server(DHT 服务器)

  • dht_server.port: DHT 服务器监听端口。
  • dht_server.query_timeout: 查询超时时间。

4. GORM Cache(缓存)

  • gorm_cache.cache_enabled: 是否启用缓存。
  • gorm_cache.easer_enabled: 是否启用缓存清除。
  • gorm_cache.max_keys: 最大缓存键数。
  • gorm_cache.ttl: 缓存键的生存时间。

5. HTTP Server(HTTP 服务器)

  • http_server.gin_mode: Gin 框架运行模式。
  • http_server.local_address: 监听地址。
  • http_server.options: 选项设置。

6. CORS(跨域资源共享)

  • http_server.cors.allow_credentials: 是否允许凭据。
  • http_server.cors.allowed_headers: 允许的头部字段。
  • http_server.cors.allowed_methods: 允许的 HTTP 方法。
  • http_server.cors.allowed_origins: 允许的源。
  • http_server.cors.debug: 是否启用调试模式。

7. Logging(日志)

  • log.development: 是否启用开发模式。
  • log.json: 是否以 JSON 格式记录日志。
  • log.level: 日志级别。

8. File Rotator(日志文件轮转)

  • log.file_rotator.base_name: 日志文件基础名称。
  • log.file_rotator.max_age: 日志文件最大保存时间。
  • log.file_rotator.path: 日志文件存储路径。

9. Metainfo Requester(元信息请求者)

  • metainfo_requester.key_mutex_size: 并发请求锁大小。
  • metainfo_requester.request_timeout: 请求超时时间。

10. PostgreSQL(数据库)

  • postgres.host: 数据库主机。
  • postgres.user: 数据库用户名。
  • postgres.password: 数据库密码。
  • postgres.name: 数据库名称。

11. Processor(处理器)

  • processor.concurrency: 并发处理数量。

12. TMDB(电影数据库)

  • tmdb.api_key: TMDB API 密钥。
  • tmdb.enabled: 是否启用 TMDB。
  • tmdb.rate_limit: API 请求速率限制。

Docker 部署 BitMagnet

      在 Docker 中部署 BitMagnet 并挂载配置文件 config.yaml 到容器中,需要设置 Docker 容器的目录挂载(volume mapping),使得容器可以读取你本地的配置文件。

1. 使用 -v 参数挂载单个文件

docker run -d \
  --name bitmagnet \
  -v /root/dockerdata/bitmagnet/config.yaml:/etc/bitmagnet/config.yaml \
  -p 3333:3333 \
  -p 3334:3334 \
  ghcr.io/bitmagnet/bitmagnet:latest

2. 挂载整个目录(推荐用于未来扩展)

docker run -d \
  --name bitmagnet \
  -v /root/dockerdata/bitmagnet:/etc/bitmagnet \
  -p 3333:3333 \
  -p 3334:3334 \
  ghcr.io/bitmagnet/bitmagnet:latest

3. 使用 Docker Compose 部署

version: '3'
services:
  bitmagnet:
    image: ghcr.io/bitmagnet/bitmagnet:latest
    container_name: bitmagnet
    volumes:
      - /root/dockerdata/bitmagnet:/etc/bitmagnet
    ports:
      - "3333:3333"
      - "3334:3334"
    restart: unless-stopped

配置文件示例

dht_crawler:
  save_files_threshold: 20
  rescrape_threshold: 720000h
  bootstrap_nodes:
    - router.utorrent.com:6881

http_server:
  local_address: ":3333"

dht_server:
  port: 3334

log:
  level: info
  file_rotator:
    enabled: true
    path: /var/log/bitmagnet
    max_size: 10485760 # 10MB
    max_backups: 5
    max_age: 24h

postgres:
  host: postgres
  port: 5432
  user: postgres
  password: postgres
  name: bitmagnet
  ssl_mode: disable

tmdb:
  enabled: true
  api_key: your_tmdb_api_key_here

上一篇      下一篇