在进行 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. 部署docker-registry +ui , 使用ansible部署docker实例

    #部署docker-registry +ui , 使用ansible部署docker实例 docker registry 配置域名证书, 用户密码认证, 轻量UI shell部署docker-regi ...

  2. Java 项目愚蠢的分层及解决方案

    <整洁架构之道>的最后一章<细节决定成败>又在讨论 Javaer 永恒的问题:分层后 DAO Service Controller 应该按功能分包还是按层分包. 按功能分包的人 ...

  3. 【Python】2023年Python期末复习题

    Python百分百挂科指南 出题人,出的题,水平不咋样,给出的参考答案一堆错误,给出的正确选项单词都能拼错. 非本次考试人员不必看,没有参考价值 选择题 下列哪个标识符是不合法的()D A. Name ...

  4. Qt编写物联网管理平台46-云端数据同步

    一.前言 在上一篇文章说的采集数据转发的基础上,针对方案一还做了云端数据同步功能,满足各式各样的用户需求.云端数据库同步,相当于把本地采集到的数据实时存储到云端,至于这些记录到了云端后什么用途,客户端 ...

  5. Web端即时通讯实践干货:如何让WebSocket断网重连更快速?

    本文作者网易智慧企业web前端开发工程师马莹莹.为了提升内容质量,收录时有修订和改动. 1.引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web的即时通讯应用提供了 ...

  6. 小程序获取定位完整的封装js(uniapp)

    1.小程序获取定位,首先需要在微信公众平台,申请getLocation接口(开发管理->接口设置) 2.在manifest.json打开源码视图,增加代码 "mp-weixin&quo ...

  7. CDS标准视图:应收账龄表 I_ARJrnlEntrItmAgingGrid

    视图名称:应收账龄表 I_ARJrnlEntrItmAgingGrid 视图类型:参数 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IARJEITMAGGRID' ...

  8. asp.net core 3.x 通用主机是如何承载asp.net core的-中

    便于理解直接录制视频了 必备知识: 依赖注入.配置系统.选项模式.推荐参考:A大博客 通用主机(参考:https://www.cnblogs.com/jionsoft/p/12154519.html) ...

  9. 时间序列数据库TSDB InfluxDB介绍

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  10. 直播预览层(AVCaptureVideoPreviewLayer)底层实现

    分析sampleBuffer(帧数据) 通过设置AVCaptureVideoDataOutput的代理,就能获取捕获到一帧一帧数据 [videoOutput setSampleBufferDelega ...