使用Docker Compose部署magnetico资源搜索引擎
2025-07-10 03:29:32作者:尤辰城Agatha
项目概述
magnetico是一个自托管的资源链接搜索引擎,由boramalper开发。它包含两个主要组件:
- magneticod:负责爬取和索引资源链接的后台服务
- magneticow:提供Web界面的前端服务
这个Docker Compose配置可以帮助用户快速搭建一个完整的magnetico搜索系统。
部署前准备
在开始部署前,请确保系统已安装:
- Docker引擎
- Docker Compose工具
同时需要设置以下环境变量:
MAGNETICOD_DATA
:存储magneticod数据的目录路径MAGNETICOD_CONFIG
:存储magneticod配置文件的目录路径MAGNETICOW_CONFIG
:存储magneticow配置文件的目录路径
配置详解
magneticod服务配置
magneticod:
image: boramalper/magneticod:latest
volumes:
- ${MAGNETICOD_DATA}:/root/.local/share/magneticod
- ${MAGNETICOD_CONFIG}:/root/.config/magneticod
network_mode: "host"
command:
- "--indexer-addr=0.0.0.0:1212"
关键配置说明:
- 使用
host
网络模式,使服务能直接使用主机网络,提高P2P连接性能 - 数据卷挂载确保索引数据持久化
- 通过
--indexer-addr
参数指定索引服务监听地址
magneticow服务配置
magneticow:
image: boramalper/magneticow:latest
volumes:
- ${MAGNETICOD_DATA}:/root/.local/share/magneticod
- ${MAGNETICOW_CONFIG}:/root/.config/magneticow
ports:
- "8080:8080"
关键配置说明:
- 共享magneticod的数据卷,使Web界面能访问索引数据
- 映射8080端口,提供Web访问
- 独立配置目录用于存储Web界面设置
部署步骤
-
创建环境变量文件
.env
,内容如下:MAGNETICOD_DATA=/path/to/data MAGNETICOD_CONFIG=/path/to/magneticod/config MAGNETICOW_CONFIG=/path/to/magneticow/config
-
创建上述目录并设置适当权限:
mkdir -p ${MAGNETICOD_DATA} ${MAGNETICOD_CONFIG} ${MAGNETICOW_CONFIG} chmod -R 755 ${MAGNETICOD_DATA} ${MAGNETICOD_CONFIG} ${MAGNETICOW_CONFIG}
-
启动服务:
docker-compose up -d
-
验证服务:
- magneticod日志:
docker-compose logs magneticod
- 访问Web界面:
http://服务器IP:8080
- magneticod日志:
性能调优建议
-
对于大型索引,建议分配更多资源:
magneticod: deploy: resources: limits: cpus: '2' memory: 4G
-
考虑使用SSD存储以提高索引速度
-
定期备份
MAGNETICOD_DATA
目录
常见问题解决
-
端口冲突:如果8080端口被占用,可修改
ports
配置为"新端口:8080"
-
权限问题:确保Docker用户对挂载目录有读写权限
-
索引速度慢:检查网络连接,确保能正常访问DHT网络
安全注意事项
-
建议在Web服务前配置反向代理(如Nginx)并启用HTTPS
-
考虑设置访问控制,限制Web界面的访问IP
-
定期更新镜像以获取安全补丁
通过以上配置和步骤,您可以轻松部署一个功能完整的私有资源搜索引擎,既保护隐私又提供便捷的资源搜索服务。