Install CouchDB via Docker to synchronize data across multiple ends.

Moon.FM 是一款糖果色设计风格的泛用性播客。基于 Electron->全平台 😂。

全平台的使用情况下,多端同步也是一个需求痛点,软件内提供 Couchdb 的方法来同步数据。

使用 IBM Cloudant 多端同步 MoonFM 数据

使用 Docker 部署 CouchDB 为 Moon FM 同步数据

Ubuntu 安装 CouchDB 多端同步 MoonFM 数据

首先安装 Docker

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

1.安装 CouchDBDocker 镜像

Docker Official Images - CouchDB

1
2
# 3.1.1版本能避免之前碰到的一个冲突
docker pull couchdb:3.1.1

2.启动一个 CouchDB 实例,映射端口

1
docker run -p 5984:5984 -d --name my-couchdb -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password couchdb:latest

3.看下挂载成功没有

1
docker ps

成功启动就可以访问 ip:5984/_utils (记得自己的 5984 端口防火墙放行了)

4.进入网页 GUI 页面,修改参数

img

然后直接从终端输入以下命令

创建 _users 用户表

1
curl -X PUT http://admin:password@ip:5984/_users -H "Accept: application/json" -H "Content-Type: application/json"

用 couchdb 管理员账户,创建一个用户名为 jan 密码为 apple 的用户

1
curl -X PUT http://admin:password@ip:5984/_users/org.couchdb.user:jan -H "Accept: application/json" -H "Content-Type: application/json" -d '{"name": "jan", "password": "apple", "roles": [], "type": "user"}'

用户 jan 创建后,你发现 CouchDB 同时为这个用户创建了一个数据库 userdb-6a616e (数据库名是前缀 userdb- 加用户名的 hex 字符串)

那么这个用户的同步地址就是 http://jan:apple@ip:5984/userdb-6a616e,将之输入软件的同步设置里。

ps.注意文中的 admin password ip 记得替换啊