AppFlowy Cloud 部署教程

AppFlowy Cloud 部署教程
King Moon使用 Docker Compose 自建部署 AppFlowy Cloud 详细教程
本教程将指导你如何在自己的服务器上使用 Docker Compose 部署 AppFlowy 的后端服务 AppFlowy Cloud。部署完成后,你将能够通过 AppFlowy 桌面或移动客户端连接到自己的服务器,实现数据同步和团队协作,同时完全掌控你的数据。
注意: 本教程假设你对 Linux 命令行和 Docker 有一定的基本了解。
前提条件
在开始部署之前,请确保你的服务器满足以下条件:
- 一台运行 Linux (推荐)、macOS 或 Windows 的服务器或虚拟机。
- 已安装 Docker:请参考 Docker 官方文档 进行安装。
- 已安装 Docker Compose:请参考 Docker Compose 官方文档 进行安装。
- 具备足够的硬件资源:至少 2GB 内存和 10GB 可用存储空间(具体需求取决于用户数量和数据量)。
- 一个域名 (可选,但强烈推荐用于通过 HTTPS 安全访问)。
- 如果使用域名,需要将域名的 DNS A 记录指向你的服务器 IP 地址。
部署步骤
1. 克隆 AppFlowy Cloud 仓库
首先,通过 Git 将 AppFlowy Cloud 的代码仓库克隆到你的服务器上。选择一个合适的目录存放代码,例如 /opt/appflowy-cloud。
1 | sudo apt update && sudo apt upgrade -y # (Optional) Update your system |
2. 配置环境变量
AppFlowy Cloud 使用环境变量来配置数据库连接、密钥、管理员信息等。
复制示例环境变量文件:
1
sudo cp .env.example .env
编辑
.env文件,根据你的需求修改以下重要配置项:1
sudo nano .env
以下是一些你需要重点关注和修改的变量:
- 数据库配置 (PostgreSQL):
1
2
3
4POSTGRES_USER=appflowy # 修改为你希望的数据库用户名
POSTGRES_PASSWORD=your_db_password # **务必修改为安全的密码**
POSTGRES_DB=appflowy # 修改为你希望的数据库名
DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB} - Redis 配置:
1
REDIS_URL=redis://redis:6379/0
- JWT Secret: 用于用户认证的密钥,务必修改为随机生成的强密码:
1
GOTRUE_JWT_SECRET=your_jwt_secret # **务必修改为随机生成的长字符串**
- 管理员账户: 用于登录管理后台的初始管理员账户,务必修改:
1
2[email protected] # 修改为你的管理员邮箱
GOTRUE_ADMIN_PASSWORD=your_admin_password # **务必修改为安全的管理员密码** - 服务地址: 如果你使用域名并配置了 HTTPS,请修改
FQDN和SCHEME。FQDN是你的域名,SCHEME通常是https。1
2
3
4
5
6
7# 如果使用域名和HTTPS
FQDN=yourdomain.com # 修改为你的域名
SCHEME=https
# 如果仅使用IP地址 (不推荐用于生产环境)
# FQDN=your_server_ip
# SCHEME=http - SMTP 配置 (可选): 如果你需要启用邮件通知(例如密码重置),需要配置 SMTP 服务器信息。
1
2
3
4
5
6
7# 启用SMTP,如果需要邮件功能
# SMTP_ENABLED=true
# SMTP_HOST=your_smtp_host
# SMTP_PORT=your_smtp_port
# SMTP_USER=your_smtp_user
# SMTP_PASS=your_smtp_password
# SMTP_SENDER=AppFlowy <[email protected]> - 其他配置项请根据需要和注释进行修改。
- 数据库配置 (PostgreSQL):
3. 配置反向代理 (Nginx)
虽然可以直接通过 IP 地址和端口访问,但为了安全和方便,强烈推荐使用 Nginx 配置反向代理,并启用 HTTPS。AppFlowy Cloud 仓库中提供了 Nginx 的配置示例。
进入 Nginx 配置目录:
1
cd nginx
复制示例配置文件:
1
sudo cp nginx.conf.example nginx.conf
编辑
nginx.conf文件,主要是将yourdomain.com替换为你的实际域名,并配置 SSL 证书路径。1
sudo nano nginx.conf
找到
server块,修改server_name为你的域名,并更新ssl_certificate和ssl_certificate_key的路径。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18server {
listen 80;
listen [::]:80;
server_name yourdomain.com; # 修改为你的域名
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name yourdomain.com; # 修改为你的域名
# 配置你的SSL证书路径
ssl_certificate /etc/nginx/ssl/certificate.crt; # 修改为你的证书文件路径
ssl_certificate_key /etc/nginx/ssl/private.key; # 修改为你的私钥文件路径
# ... 其他配置 ...
}将你的 SSL 证书文件 (
certificate.crt) 和私钥文件 (private.key) 放到/opt/AppFlowy-Cloud/nginx/ssl/目录下(或者你配置的路径)。回到
AppFlowy-Cloud根目录。1
cd ..
4. 启动 Docker Compose 服务
现在,你可以使用 Docker Compose 启动所有服务了。
1 | sudo docker compose up -d |
-d参数表示在后台运行服务。- Docker Compose 会拉取所需的 Docker 镜像(如果本地没有),然后按照
docker-compose.yml文件中定义的顺序启动服务。
你可以使用以下命令查看服务运行状态:
1 | sudo docker compose ps |
确保所有服务的状态都是 running 或 healthy。
5. 防火墙设置
如果你的服务器有防火墙,需要开放以下端口:
80(HTTP,如果配置了 HTTP 跳转 HTTPS)443(HTTPS)
例如,使用 UFW (Uncomplicated Firewall):
1 | sudo ufw allow 80/tcp |
6. 访问 AppFlowy 并连接客户端
- 访问管理后台: 打开浏览器,访问
https://yourdomain.com/console(将yourdomain.com替换为你的域名)。使用你在.env文件中配置的管理员邮箱和密码登录。 - 连接 AppFlowy 客户端:
- 下载并安装最新版本的 AppFlowy 桌面或移动客户端应用。
- 打开 AppFlowy 应用。
- 在登录界面,找到“设置”或类似的选项。
- 选择“云服务提供商”为“AppFlowy Cloud”。
- 在“服务器地址”字段中,输入你的自建服务器地址(例如
https://yourdomain.com)。 - 输入你在 AppFlowy Cloud 中创建的用户账号(可以是管理员账号,也可以是你在管理后台创建的其他用户账号)的邮箱和密码进行登录。
恭喜你!你已经成功自建部署了 AppFlowy Cloud 服务。现在你可以在自己的服务器上使用 AppFlowy 进行笔记、项目管理和协作了。
更新 AppFlowy Cloud
定期更新 AppFlowy Cloud 是非常重要的,可以获取新功能、性能改进和安全补丁。
进入
AppFlowy-Cloud仓库目录:1
cd /opt/AppFlowy-Cloud # 或你的安装目录
拉取最新的代码:
1
sudo git pull origin main
可能需要根据最新的
.env.example文件更新你的.env文件,添加或修改新的配置项。重新构建并启动服务:
1
2
3sudo docker compose down # 停止并移除旧的服务
sudo docker compose pull # 拉取最新的镜像
sudo docker compose up -d # 启动新版本的服务
故障排除
如果在部署过程中遇到问题,可以尝试以下方法:
- 查看 Docker Compose 日志: 使用
sudo docker compose logs命令查看各个服务的日志输出,这有助于诊断问题。 - 检查防火墙: 确保所需的端口已开放。
- 检查环境变量: 仔细检查
.env文件中的配置是否正确,特别是数据库连接信息和密钥。 - 查看官方文档: 访问 AppFlowy Cloud 的 GitHub 仓库和官方文档,查找更详细的部署说明和常见问题解答。
- 寻求社区帮助: 如果问题依然存在,可以在 AppFlowy 的社区论坛或 Discord 频道寻求帮助。



