无代码/低代码后端解决方案 Appwrite 安装记录

已经安装过好多个 Appwrite 实例了,这个后端项目在解决一些轻量级的问题下相当爽

之前使用过另外一个类似的项目,叫做 supabase. 但是由于自己部署的版本只能创建单个项目,且认证方式确实很寒酸,结果一直没深入去用他…

我没有重量级的项目,所以没办法说这个项目是否适合大型项目,但是根据官网描述,应该还算是挺稳的~

这里通过 docker 来进行安装

通过 Docker 安装

首先确保服务器符合项目运行条件

准备工作

根据官网描述,服务器配置至少需要 2 CPU 核心 和 4GB 内存, 启用至少 2GB 的 swap,

另外,你使用的操作系统至少需要支持 Docker

安装 Docker

安装 Docker 这一步只需要跟着官方文档来,基本不会有什么大问题

这里使用 Ubuntu,先配置 APT

# 导入 Docker 的密钥
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# 给 APT 源增加 Docker 镜像
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

随后直接开装

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

一般到这里就OK了。你要是想可以跟着官方文档后面拉一个hello-world到本地,不过没啥用

安装 Appwrite

Appwrite 的安装不太能通过各种面板(宝塔,Portainer或1panel之类的)来进行安装,因为在安装过程中会有命令行的交互式问题,面板一般是直接通过你给的参数启动了

所以还是继续在终端中操作,在主目录下运行以下指令

docker run -it --rm \
    --volume /var/run/docker.sock:/var/run/docker.sock \
    --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
    --entrypoint="install" \
    appwrite/appwrite:1.6.0

然后开始回答他的问题

一般来说,应用程序是需要反向代理出去的,所以这里的端口号不使用默认的80和443,随便选择一个高位端口号,这里我用 25802/25803

设置好端口号,回答完了后面的问题后,开始进行反向代理

使用 Caddy 反向代理

直接使用以下指令开启代理

caddy reverse-proxy --to 127.0.0.1:25802

输入服务器的公网IP或解析的域名即可打开

直接点击 Sign Up, 系统默认允许注册一个用户,也就是管理员用户。直接填入信息注册登录即可~如果想要注册其他用户进行协同,需要进行邮箱配置后邀请加入项目或者开放用户注册数量

至此安装完毕~

配置 Github App

创建 App

为了能引入自己的云函数,补全这个项目没有的功能,我们需要配置 Github App, 否则就只能用 CLI 加上一大堆参数来使用

打开 Github 的个人设置页面,找到 Developers

创建一个新的 Github App

在下方 CallbackUrl 中填入两个回调 URL

https://[HOSTNAME_OR_IP]/v1/vcs/github/callback
https://[HOSTNAME_OR_IP]/v1/account/sessions/oauth2/callback/github/console

(将 [HOSTNAME_OR_IP] 替换成自己实例的公网地址)

另外,勾选下方 Request user authorization (OAuth) during installation

下面继续操作,重定向打勾,Webhook填写:

https://[HOSTNAME_OR_IP]/v1/vcs/github/events

然后在下方权限选择中勾选以下权限

权限访问
AdministrationRead and write
ChecksRead and write
Commit StatusesRead and write
ContentsRead and write
IssuesRead and write
MetadataRead-only
Pull requestsRead and write
WebhooksRead and write
权限访问
Email addressRead-only

订阅以下 Events:

Events
Pull request
Push

需要勾选上面的权限后这里的两个 Event 才会显示在这里

最后把权限改为所有帐号即可

点击创建,然后生成密钥

点击生成后,浏览器会自动下载密钥文件,用文本编辑器打开,将 \n 都替换为 \\n 然后复制备用

配置 Appwrite 文件

SSH 连接回到安装服务器

在刚刚执行安装指令的目录下,会出现 appwrite 文件夹。进入文件夹可以看见配置文件

在配置文件中找到以下项目,并更改为 Github App 对应的值

变量名备注
_APP_DOMAIN反代后的域名
_APP_DOMAIN_TARGET反代后的域名,可以和上面那个一样
_APP_DOMAIN_FUNCTIONS云函数域名。如果设置为 github.com 这里就会是 云函数ID.github.com (比如64d4d22db370ae41a32e.github.com)
_APP_VCS_GITHUB_APP_NAME刚刚创建 App 命的名
_APP_VCS_GITHUB_PRIVATE_KEY刚刚复制的密钥,粘贴替换文本后的一行
_APP_VCS_GITHUB_APP_ID如下图1
_APP_VCS_GITHUB_CLIENT_ID如下图1
_APP_VCS_GITHUB_CLIENT_SECRET如下图2 创建一个 Client Secret,复制过来
_APP_VCS_GITHUB_WEBHOOK_SECRET如下图3 配置 Webhook Secret

检查编辑完毕的配置文件,保存退出

使用 docker compose up -d 来重载配置

看见配置完成啦~云函数这里可以选择 GH 了!

chevron_left
chevron_right

Leave a comment

您的邮箱地址不会被公开。 必填项已用 * 标注

Comment
Name
Email
Website