Appflowy cloud 部署测试避坑指南

news/2025/3/6 19:08:48/文章来源:https://www.cnblogs.com/KKSoft/p/18756153
在进行 Appflowy cloud 部署测试时,我可谓是踩坑无数。下面,我想从几个关键方面来分享一下我的经验。

先给大家讲讲我的基础情况。Appflowy cloud 的部署是在 docker 环境下,借助 docker compose 来完成的。我之前对 docker 有一些浅显的了解,但 compose 完全没用过。我对 linux 环境也有一定认知,不过并不精通,日常办公大多在 windows 环境下。我家里的 NAS 是群晖,它是基于 Linux 环境运行的。

1. 资料查阅

在部署过程中,资料查阅至关重要,下面是我参考过的一些站点和文章:

  • 官网:https://appflowy.com/
  • github:https://github.com/AppFlowy-IO ,这里面包含 appflowy-cloud 和 appflowy 相关内容。
  • 网友文章:https://blog.owenyang.top/article/self-hosting-appflowy-with-appflowy-cloud-on-synology
  • 油管视频:https://www.youtube.com/@mayursmahajan
在此要特别提醒大家,一定要多关注官方文档。Appflowy +cloud 的更新速度很快,如果不及时查看官方文档,一旦有更新,出现问题时你可能根本不知道错在哪里。比如,有一次从 0.916 升级到 0.917,我发现后台管理界面不见了,当时以为是自己的配置出了问题,反复折腾了好几天,最后才发现是升级时路由地址发生了变化。

2. 安装环境

刚开始准备部署测试时,我想着在办公室的电脑上先跑通流程,于是下载了 windows 版本的 docker,还在这个 docker 里下载了 appflowy 的 docker 镜像(后来才知道,在 docker compose 部署时会自动下载,真是走了弯路😂),同时也下载了 github 上的源码。但在部署测试时,总是出现一个异常(现在已经记不清具体错误了),导致无法正常推进。我在这上面耗费了好几天时间,始终没有解决。后来我把测试环境换到 linux 虚拟机上,那个错误就消失了。所以,建议大家将 Appflowy cloud 部署在 Linux 环境中。我最终要部署在群晖上,因为群晖本身基于 linux,也就没什么问题了。

3. 数据库选择

为什么要单独说数据库的选择呢?这是因为看了上面提到的那位网友的文章,他提到数据库单独安装 postgres,而不使用 docker 里自带的数据库,这样做更便于备份。我觉得很有道理,就也打算单独安装。安装过程倒是挺顺利的,没遇到什么问题,可在部署前对数据库进行初始化时,我却遇到了大麻烦,在这里卡了至少 10 天,其中的艰辛真是难以言表。好在最后成功搞定了外部数据库的配置和连接,具体的配置方法我会在后续的配置文章中详细讲解。

4. Appflowy cloud 数据备份

对于像 Appflowy cloud 这样的知识库应用来说,数据备份的重要性不言而喻。只有确保备份流程顺利走通,我才会真正进行部署。所以,在学习和测试备份的过程中,又是一段漫长的经历。Appflowy cloud 的数据备份包括数据库备份和 minio 文件系统的备份,这两者缺一不可。前面也提到过,起初我想单独安装这两个应用来实现备份,但后来发现直接在 docker 中就可以进行访问和备份操作,所以最后我并没有单独安装这两个软件。数据库备份通过命令就能完成,minio 文件备份则直接进入 minio 系统,下载压缩包即可。

5. Appflowy cloud 升级

正如前面所说,Appflowy cloud 是一款更新频繁的应用,通常一周到两周就会有更新。因此,了解升级方法很有必要。客户端的升级相对简单,直接覆盖安装就行。但后端的 cloud 升级就比较麻烦了,刚开始我以为直接下载源码就是升级,结果发现并非如此。实际上,不仅需要升级 docker 镜像,还得对配置文件进行更新。在学习升级的过程中,我顺便学习了 git 的相关命令,发现用 git 进行升级会更加便捷。后续我会详细分享具体的操作方法。
 
今天就先分享到这里,后面我会找时间详细介绍部署方法,希望能对大家有所帮助。💖
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/894761.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis与其使用方法讲解

ORM在讲解Mybatis之前,我们需了解一个概念ORM(Object-Relational Mapping)对象关系映射,其是数据库与Java对象进行映射的一个技术.通过使用ORM,我们可以不用编写负责的Sql语句,而是通过操作对象来实现增删改查操作缺优分析优点提高开发效率,减少代码的重复性和维护成本 增加代码…

系统流程图

1.图书馆借阅管理系统流程图: 背景说明:在学校图书馆借阅管理系统中,学生借阅图书需要经过一系列流程。首先,学生携带校园卡前往借阅处,工作人员通过刷卡设备读取学生信息,系统验证学生身份是否有效。若身份无效,系统提示原因(如校园卡过期、欠费等)。若身份有效,学生…

基于Microsoft.Extensions.AI核心库实现RAG应用

本文介绍了如何基于Microsoft.Extensions.AI + Microsoft.Extensions.VectorData 一步一步地实现一个RAG(检索增强生成)应用,相信会对你有所帮助。如果你也是.NET程序员希望参与AI应用的开发,那就快快了解和使用基于Microsoft.Extensioins.AI + Microsoft.Extensions.Vecto…

Linux shell su command All In One

Linux shell su command All In One su !== sudo substitute user => su, 替换用户/切换用户 superuser do => sudo, 执行超级管理员用户权限 su - run a command with substitute user and group ID su - 使用替代用户和组 ID 来运行命令Linux shell su command All In …

座椅控制器SCM

智能座椅控制器SCM是经纬恒润设计研发的车身舒适性控制模块,实现电动座椅14向位姿调节及通风、加热、腰托、按摩等控制功能。其基于人机交互和整车中央控制,匹配多种应用场景,实现迎宾、一键零重力、二排方便上下车等座舱内前后排座椅联动的姿态和空间自动调整。 智能…

React18 函数组件的底层渲染机制与形参props的使用细节

前言: Vue中的组件开发: 1.全局组件和局部组件 2.函数组件和类组件(vue3不具备functional函数组件) React中的组件化开发: 没有明确全局和局部的概念,可以理解为都是局部组件,不过可以把组件注册到React上,这样每个组件只要导入React中即可使用 1.函数组件 2.类组件 3.…

c# 托管堆和垃圾回收的clr的控制

前言 简单讲述一下垃圾回收,我们能做的一些控制。 正文 强制回收 class Program {static void Main(){var str = new StringBuilder();var x = "";for (int i = 0; i < 500; i++){x += "xxxxxxxxsadasdasdsadsaewqeqczxcxzgsfaswqeqwrqwewqeasdasqweqwrqsda…

PHP调用redis消息队列案例

一、代码实例://需要成功引入并使用redis$redis = RedisManager::$redis;// 生产者:将订单加入队列(右端插入)function producer($orderId,$redis) { $redis->rPush(task_queue, $orderId); print_r("<br/>追加入列<br/>"); print_r($or…

redis消息队列案例

一、代码实例://需要成功引入并使用redis$redis = RedisManager::$redis;// 生产者:将订单加入队列(右端插入)function producer($orderId,$redis) { $redis->rPush(task_queue, $orderId); print_r("<br/>追加入列<br/>"); print_r($or…