BitMagnet 配置项与 Docker 部署指南
学习笔记作者:admin日期:2025-07-21点击:150
摘要:本文详细介绍了 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:latest2. 挂载整个目录(推荐用于未来扩展)
docker run -d \
  --name bitmagnet \
  -v /root/dockerdata/bitmagnet:/etc/bitmagnet \
  -p 3333:3333 \
  -p 3334:3334 \
  ghcr.io/bitmagnet/bitmagnet:latest3. 使用 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