Anytype部署教程:复用已有服务
Anytype部署教程:复用已有服务
官方文档与资源
Github 仓库
any-sync-dockercompose 是官方提供的用于测试 any-sync 的 docker-compose 项目。
Wiki位置
Configuration 提供了详细的配置指南。
自建说明
个人方案逻辑
当前个人已有服务说明
复用 MongoDB
- 原因:服务器中已部署 MongoDB,避免额外部署。
- 版本:最新。
额外服务 -1:设置额外的 key,当设置了账号密码时需要。
# 生成随机密钥文件 openssl rand -base64 756 > mongo.key # 修改权限 sudo chmod 400 mongo.key # 修改所有者为 999 sudo chown 999:999 mongo.key# 修改docker-compose # 添加command命令 volumes: - ./mongo.key:/etc/mongo/mongo.key command: - "--keyFile" - "/etc/mongo/mongo.key"额外服务 -2:开启集群化。
# 进入容器 docker exec -it <容器名字> mongosh -u 账号 -p 密码 --authenticationDatabase admin # 设置当前配置 cfg = rs.conf() # 将原本的随机 ID 改为固定的容器名 局域网内ip cfg.members[0].host = "局域网内ip:27017" # 强制应用新配置 rs.reconfig(cfg, {force: true})
复用 Redis
- 指的是 Redis-stack。
复用 S3
- 官方提供的是 minIO,但 minIO 已停止版本更新和维护。
Self-Host
导入官方配置
# 进入你要的dir路径
git clone https://github.com/anyproto/any-sync-dockercompose.git .
copy .env.override .env.override.prod
# override 可以用 .env.override.latest .env.override.prod .env.override.stage1
# prod版本是最稳定的Config配置
.env.override 的目的
- 覆盖 .env.default 的服务。
- 理论上,只要 .env.default 存在的服务,都可以改成自己的 self-host 配置。
S3配置说明
AWS_ACCESS_KEY_ID="" AWS_SECRET_ACCESS_KEY="" MINIO_BUCKET=""# docker-generateconfig/etc/filenode.yml s3Store: region: us-east-1 endpoint: http://ip:port forcePathStyle: true修改 MongoDB 以及 Redis 服务
问题一:URL识别出现了问题。
MONGO_CONNECT=mongodb://admin:[email protected]:27017解决步骤:
- 使用 VSCode 或全局搜索工具进行链接和修改。
- 遍历
docker-generateconfig/etc中的各类 yml 文件,找到对应的 key 并替换。
修改 docker-compose.yml
- 按需删除掉 minIO, mongoDb, redis的相关配置。
- 删除 minIO 配置中建立桶的操作(如果不是用自建 minIO)。
执行 make start 服务
- 如果构建失败,解决完日志之后可以删除掉
etc/*,.env重新构建。
- 如果构建失败,解决完日志之后可以删除掉
- 获取 etc/client.yml
- frp 或是 vps直接开放 node端口
- 连接到 anytype app即可
- 部署之后的
client.yml应该会有一个127.0.0.1的配置,可以将其删掉。
结语
通过以上步骤,您可以成功部署 Anytype 并复用已有的服务,从而节省资源并简化管理。希望这些信息对您有所帮助!
评论已关闭