小书匠出了手机客户端,折腾一下同步文档.
之前将文档存储在电脑的onedrive文件夹中,
使用微软的同步服务.但手机上并不能选择文档位置.
- 备份数据
- 在服务器上安装couchdb 基于docker
# 拉下镜像
docker pull couchdb
# 创建容器 新版本的couchdb需要配置用户名密码
docker run -d --name 容器名 -p 5984:5984 -p 4369:4369 -p 9100:9100 -e COUCHDB_USER=用户名 -e COUCHDB_PASSWORD=密码 couchdb
# 测试
curl http://127.0.0.1:5984
测试返回的信息:
{
"couchdb": "Welcome",
"version": "3.1.1",
"git_sha": "ce596c65d",
"uuid": "534b5bfe9a5d5d8be58d3686f7ab8482",
"features": [
"access-ready",
"partitioned",
"pluggable-storage-engines",
"reshard",
"scheduler"
],
"vendor": {
"name": "The Apache Software Foundation"
}
}
- nginx配置端口转发
upstream couchdb{
server 127.0.0.1:5984;
}
server{
listen 80 ;
server_name 域名;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://couchdb;
}
}
- 配置couchdb 访问couchdb域名/_utils进入配置页面,输入用户名密码进行登录
进入配置,打卡CORS跨域限制
新建数据库 命名为xsj 选择不分区Non-partitioned
- 小书匠配置 小书匠图标->数据->同步,选择自定义
数据库地址是 couchdb域名/数据库名(在这里是xsj),填写账号密码
withCredentials选项我暂时没有勾选(勾选后再打开还是未勾选状态...)
初始化视图这部分需要复制其中的信息
然后到couchdb的管理中,选Create Document将上面复制的数据粘贴进去.
之后可以点击测试了.
如果提示
{
"status": 400,
"name": "illegal_docid",
"message": "Doc id must be of form partition:id",
"reason": "Doc id must be of form partition:id"
}
是因为创建数据库时选择了partitioned
如果提示
{
"error": "not_found",
"reason": "Database does not exist.",
"status": 404,
"name": "not_found",
"message": "Database does not exist.",
"docId": "_design/sync_index"
}
是数据库地址配置操作,请检查是否写了数据库名
到这就配置完成了