1. 项目概述
最近在折腾一个很有意思的项目——用玩客云搭建个人思源笔记服务器。这个方案最大的优势就是成本极低,基本上只需要花几十块钱买个二手玩客云设备,其他都可以用闲置配件搞定。我自己已经稳定运行了一个多月,实测下来非常可靠。
思源笔记作为一款本地优先的Markdown笔记软件,最大的痛点就是多设备同步需要付费订阅。通过Docker部署思源服务,可以让所有设备访问同一个服务端,完美解决同步问题。而且7×24小时运行,随时随地都能访问笔记。
2. 硬件准备
2.1 玩客云设备选购
玩客云现在海鲜市场价格在35-50元左右,建议选择:
- V1.3版本(白色边框较大,二维码较小)
- 带原装电源
- 最好包含公对公USB线(刷机必备)
- 已刷过机的设备优先(省去拆机短接的麻烦)
我用的是一台闲置的V1.3版玩客云,当年矿潮时留下的,相当于零成本。
2.2 存储设备选择
玩客云本身存储只有1GB,必须外接存储:
- 推荐闲置的2.5寸机械硬盘或SSD
- 也可用SD卡/TF卡(但读写性能较差)
- 必须格式化为ext4或NTFS文件系统
- 重要提示:绝对不能使用FAT32/ExFAT格式!
我用的是一块闲置的128GB SSD加USB硬盘盒,成本也就30块钱。
3. 系统安装与配置
3.1 刷入OpenWrt系统
- 下载刷机工具包(Burning Tool)
- 获取OpenWrt固件(推荐使用openwrt.ai定制)
- 连接玩客云和电脑(使用公对公USB线)
- 使用Burning Tool刷入固件
注意:如果刷机报错,尝试更换USB接口或电脑。玩客云上电时要先按住复位键。
3.2 OpenWrt基础配置
刷机完成后:
- 用网线连接玩客云和电脑
- 设置电脑IP为192.168.10.x(非100)
- 访问192.168.10.100(默认密码root)
- 修改LAN口IP为路由器同网段(如192.168.1.100)
建议将玩客云直接连接主路由器,确保所有设备都能访问。
4. Docker环境配置
4.1 修改Docker存储路径
为了避免玩客云内置存储空间不足:
- 在挂载点确认外接存储已识别(如/mnt/sda1)
- 修改Docker根目录为外接存储(如/mnt/sda1/docker)
- 重启Docker服务
4.2 配置镜像加速
国内拉取Docker镜像很慢,需要配置镜像源:
https://docker.mybacc.com https://docker.1ms.run在Docker配置页面添加以上任意一个镜像地址即可。
5. 思源笔记部署
5.1 拉取思源镜像
通过SSH登录玩客云执行:
docker pull b3log/siyuan:latest或者使用Web界面在Docker->镜像中拉取。
5.2 创建思源容器
使用以下命令创建容器:
docker run --network host \ -p 6806:6806 \ --name siyuan \ -v /mnt/sda1/siyuan/:/siyuan/workspace \ -e PUID=1001 \ -e PGID=1002 \ -d b3log/siyuan \ --workspace='/siyuan/workspace' \ --accessAuthCode=你的密码参数说明:
-v参数将数据目录映射到外接存储accessAuthCode是网页端登录密码PUID/PGID建议设为1001/1002
5.3 访问思源服务
容器启动后,通过浏览器访问:
http://192.168.1.100:6806输入之前设置的密码即可使用。所有笔记数据都会保存在外接存储中。
6. 内网穿透配置(可选)
6.1 使用cpolar实现外网访问
- 拉取cpolar镜像:
docker pull probezy/cpolar- 运行容器:
docker run -id --network host --name cpolar probezy/cpolar- 配置authtoken:
docker exec -it cpolar /bin/bash cpolar authtoken 你的token- 创建思源笔记的隧道映射6806端口
6.2 注意事项
免费版cpolar的域名会随机变化,每次外网访问需要:
- 登录cpolar官网查看最新域名
- 或升级付费套餐获取固定域名
7. 维护与优化
7.1 数据备份方案
建议定期备份/mnt/sda1/siyuan目录:
- 使用rsync同步到其他设备
- 或打包压缩后上传到网盘
- 也可配置自动备份脚本
7.2 性能优化技巧
- 关闭不需要的Docker服务
- 定期清理Docker日志和缓存
- 为思源笔记配置swap空间
- 避免同时进行大量文件操作
8. 常见问题排查
8.1 思源服务无法启动
检查步骤:
- 查看容器日志:
docker logs siyuan - 确认存储权限正确
- 检查端口是否被占用
8.2 外接存储识别异常
解决方法:
- 重新插拔存储设备
- 检查/etc/config/fstab配置
- 尝试手动挂载:
mount /dev/sda1 /mnt/sda1
8.3 网络连接问题
排查方法:
- ping测试玩客云IP
- 检查防火墙规则
- 确认路由器端口转发设置
这套方案我已经稳定运行了一个多月,完全满足个人笔记需求。相比付费订阅,不仅省了钱,数据还完全掌握在自己手里。后续还可以扩展更多Docker服务,比如搭建个人网盘、RSS阅读器等。