AppFlowy = 客户端(Flutter 桌面/Web 应用)
AppFlowy Cloud = 后端服务(Rust 编写的同步服务器)
你需要部署的是 AppFlowy Cloud。它从 2024 年起采用 Open Core 模式,分为开源版和商业版。本指南覆盖开源版部署。
⚠️ AppFlowy + Cloud 更新频繁(1-2 周一次),遇到问题优先查阅官方文档:https://appflowy.com/docs/Step-by-step-Self-Hosting-Guide---From-Zero-to-Production
| 项目 | 推荐配置 |
|---|---|
| 地域 | 离你最近(如广州、上海) |
| 实例规格 | 2核4G 起(生产环境建议 4核8G) |
| 操作系统 | Ubuntu 22.04 LTS(最推荐,踩坑最少) |
| 存储 | 系统盘 50GB + 数据盘按需(建议 100GB+) |
| 带宽 | 至少 5Mbps,按流量计费也行 |
| 安全组 | 开放 22(SSH)、80(HTTP)、443(HTTPS)、8000(AppFlowy 默认端口) |
⚠️ 强烈建议用 Ubuntu,有用户反馈在 Windows Docker 环境下部署遇到异常,换到 Linux 后消失。
连接服务器后,执行以下操作:
# 1. 更新系统 sudo apt update && sudo apt upgrade -y # 2. 安装必备工具 sudo apt install -y curl git vim unzip ufw certbot # 3. 安装 Docker(官方脚本,一键搞定) curl -fsSL https://get.docker.com | sudo sh # 4. 安装 Docker Compose(V2 版本) sudo apt install -y docker-compose-plugin # 5. 验证安装 docker --version docker compose version
# 创建工作目录 mkdir -p ~/appflowy && cd ~/appflowy # 克隆官方仓库 git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud.gitcd AppFlowy-Cloud
# 进入 docker 配置目录 cd AppFlowy-Cloud/docker # 复制生产环境配置模板 cp deploy.env .env # 编辑 .env 文件(必填项) nano .env
.env 中几个关键配置项:
# 数据库(使用 Docker Compose 自带的 PostgreSQL 可跳过) # DATABASE_URL=postgres://appflowy:your_password@localhost:5432/appflowy # AppFlowy 服务域名(必填,生产环境必须配) APPFLOWY_SERVER_URL=https://your-domain.com # JWT 密钥(必填,用以下命令生成) # openssl rand -base64 32 # SMTP 邮件服务(发注册验证码,可选) # SMTP_HOST=smtp.example.com # SMTP_PORT=587 # SMTP_USERNAME=your-email@domain.com # SMTP_PASSWORD=your-smtp-password
# 使用生产配置启动所有服务 docker compose --file docker-compose.yml up -d # 查看运行状态 docker compose -f docker-compose.yml ps # 查看日志(排查问题) docker compose -f docker-compose.yml logs -f
docker-compose.yml 包含以下服务:
| 服务 | 说明 |
|---|---|
appflowy-cloud | 主后端服务(Rust) |
postgres | PostgreSQL 数据库 |
minio | S3 兼容对象存储(存附件) |
gotenberg | 文档转 PDF 服务(可选) |
tidal-gateway | (可选组件) |
🛡️ 安全建议:腾讯云安全组不要对公网开放 PostgreSQL(5432)和 MinIO(9000)端口!
# 安装 Nginx sudo apt install -y nginx # 配置反向代理 sudo nano /etc/nginx/sites-available/appflowy
写入以下配置(替换 your-domain.com 为你的域名):
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}# 启用站点 sudo ln -s /etc/nginx/sites-available/appflowy /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
# 安装 Certbot sudo apt install -y certbot python3-certbot-nginx # 申请证书(自动配置 Nginx) sudo certbot --nginx -d your-domain.com # 自动续期测试 sudo certbot renew --dry-run
AppFlowy 客户端需要切换到自托管模式:
打开 AppFlowy 桌面端
进入 设置 → Cloud Settings
选择 Self-hosted 模式
填入你的服务器地址:https://your-domain.com
登录或注册账号即可使用
💡 如果用 GitHub OAuth 登录,需要在 GitHub OAuth App 设置中填入正确的回调地址。
AppFlowy Cloud 的数据分两部分,必须都备份:
# 1. PostgreSQL 数据库备份 docker compose -f docker-compose.yml exec postgres pg_dump -U appflowy appflowy > backup_$(date +%Y%m%d).sql # 2. MinIO 文件备份(进入 MinIO 控制台下载) # MinIO 默认端口:9000,账号密码在 .env 中
| 问题 | 解决方法 |
|---|---|
启动报错 401 Unauthorized | 客户端未切换到 self-hosted 模式,需在 AppFlowy 设置里改 URL |
| 后台管理界面消失 | 升级后路由地址可能变了,查看官方文档更新日志 |
| Windows Docker 部署异常 | 换到 Linux 环境,部分依赖在 Windows 下不兼容 |
| 数据库连接失败 | 检查 .env 中 DATABASE_URL 是否正确 |
| 升级后服务起不来 | 同步更新 .env 配置,用 git pull 更新源码后重新 docker compose up -d |
官方文档:https://appflowy.com/docs/Step-by-step-Self-Hosting-Guide---From-Zero-to-Production
部署文档:https://github.com/AppFlowy-IO/AppFlowy-Cloud/blob/main/doc/DEPLOYMENT.md
# Change this to https if you are using TLS. SCHEME=http
更改成https后一起验证不成功,后面改成http才验证成功
免费的只能有一个账号,客户端操作习惯也和思源笔记有很大差别,弃用这个方案
部分参数
# true = 注册即激活,无需邮箱验证(推荐开发/测试用) # false = 必须点邮件链接激活 GOTRUE_MAILER_AUTOCONFIRM=true
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。