在进行 Appflowy cloud 部署测试时,我可谓是踩坑无数。下面,我想从几个关键方面来分享一下我的经验。
先给大家讲讲我的基础情况。Appflowy cloud 的部署是在 docker 环境下,借助 docker compose 来完成的。我之前对 docker 有一些浅显的了解,但 compose 完全没用过。我对 linux 环境也有一定认知,不过并不精通,日常办公大多在 windows 环境下。我家里的 NAS 是群晖,它是基于 Linux 环境运行的。

1. 资料查阅

在部署过程中,资料查阅至关重要,下面是我参考过的一些站点和文章:
在此要特别提醒大家,一定要多关注官方文档。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 进行升级会更加便捷。后续我会详细分享具体的操作方法。
 
今天就先分享到这里,后面我会找时间详细介绍部署方法,希望能对大家有所帮助。
 

Appflowy cloud 部署测试避坑指南的更多相关文章

  1. Canal v1.1.4版本避坑指南

    前提 在忍耐了很久之后,忍不住爆发了,在掘金发了条沸点(下班时发的): 这是一个令人悲伤的故事,这条情感爆发的沸点好像被屏蔽了,另外小水渠(Canal意为水道.管道)上线一段时间,不出坑的时候风平浪静 ...

  2. Hive改表结构的两个坑|避坑指南

    Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段 ...

  3. Android连接远程数据库的避坑指南

    Android连接远程数据库的避坑指南 今天用Android Studio连接数据库时候,写了个测试连接的按钮,然后连接的时候报错了,报错信息: 2021-09-07 22:45:20.433 705 ...

  4. electron 编译 sqlite3避坑指南---尾部链接有已经编译成功的sqlite3

    electron 编译 sqlite3避坑指南(尾部链接有已经编译成功的sqlite3) sqlite很好用,不需要安装,使用electron开发桌面程序,sqlite自然是存储数据的不二之选,奈何编 ...

  5. CEF避坑指南(一)——下载并编译第一个示例

    CEF即Chromium Embedded Framework,Chrome浏览器嵌入式框架.它提供了接口供程序员们把Chrome放到自己的程序中.许多大型公司,如网易.腾讯都开始使用CEF进行前端开 ...

  6. Linux下Python3.6的安装及避坑指南

    Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-dev ...

  7. Harmony OS 开发避坑指南——源码下载和编译

    Harmony OS 开发避坑指南--源码下载和编译 本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台(Hi3516,Hi3518和Hi3861)的编译环境,以及如何将源码编译为三个 ...

  8. 今天 1024,为了不 996,Lombok 用起来以及避坑指南

    Lombok简介.使用.工作原理.优缺点 Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中,Lombok 提供了一组有用的注解,用来消除 Java 类中的大量样板代码. 目录 L ...

  9. .NET AsyncLocal 避坑指南

    目录 AsyncLocal 用法简介 AsyncLocal 实现原理 AsyncLocal 的坑 AsyncLocal 的避坑指南 HttpContextAccessor 的实现原理 AsyncLoc ...

  10. Windows环境下Anaconda安装TensorFlow的避坑指南

    最近群里聊天时经常会提到DL的东西,也有群友在学习mxnet,但听说坑比较多.为了赶上潮流顺便避坑,我果断选择了TensorFlow,然而谁知一上来就掉坑里了…… 我根据网上的安装教程,默认安装了最新 ...

随机推荐

  1. Terraform Aliyun 创建ecs, kubernetes 实例

    Terraform Aliyun 创建ecs, kubernetes 实例 terraform demo for aliyun 创建vpc, 网关, EIP, ecs, kubernetes, Ser ...

  2. Mysql数据库连接失败SSLException: Unsupported record version Unknown-0.0

    问题描述:mysql版本:5.7.27jdk版本:1.8.0_201 tomcat日志中报错,显示连接数据库失败,报错信息如下: The last packet successfully receiv ...

  3. mac 10.15 国内如何安装brew

    下载文件  brew_install.sh,然后执行 sh brew_install.sh 通常会卡在 tapping homebrew/core ,没关系, 执行如下命令即可 解决方法,手动执行下面 ...

  4. 启动redis失败Could not create server TCP listening socket 127.0.0.1:6379:bind:操作成功

    问题: 启动redis失败Could not create server TCP listening socket 127.0.0.1:6379:bind:操作成功 解决方法: 在命令行提示符C:\P ...

  5. Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5

    DeepSeek-V3 实在是太便宜了,就跟不要钱似的:每百万输入 tokens 0.1 元 (缓存命中)/ 1 元 (缓存未命中),每百万输出 tokens 2 元 跟其他模型相比,DeepSeek ...

  6. 数字世界中的纸张——理解 PDF (转载)

    转载自 https://type.cyhsu.xyz/2018/09/understanding-pdf-the-digitalized-paper/ 引言 PDF 是我们打交道最多的文件格式之一.提 ...

  7. w3cschool-Spring Cloud

    https://www.w3cschool.cn/spring_cloud/spring_cloud-ryjs2ixg.html Spring Cloud(一)服务的注册与发现(Eureka) 202 ...

  8. nginx详细参数配置(史上最全)

    Nginx (engine x) 是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用 代理服务器 (TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人Igor Sysoev编写 ...

  9. 记录在本地电脑部署自己的DeepSeek 大模型AI

    大家新年好呀,年初二给各位拜年啦,祝各位新年身体健康,工作顺利,万事如意,开心快乐每一天! 前言: 这几天看到很多DeepSeek的热点新闻(火的不行呀),去了解下这个AI,然后自己试了下本地部署,发 ...

  10. HPC的基本概念

    本文分享自天翼云开发者社区<HPC的基本概念>,作者:它零食抱佛jio HPC(High Performance Computing)是一种高性能计算技术,它利用大规模并行处理器集群或超级 ...