GEOFlow 3.0.0 部署笔记:开发与生产两套 Docker Compose 流程
GEOFlow 是开源的内容工程与多站点分发平台,Laravel 应用,带 AI 质检、托管站点、浏览器辅助发布和签名更新。仓库在 GitHub,GPL-3.0,当前源码版本 3.0.0。官网:https://www.geoflow.me 。
组件与版本
- GEOFlow Core 3.0.0:Laravel 应用,包含管理后台、前台、API、队列与分发系统
- GEOFlow CLI 0.2.0:仓库内置
bin/geoflow,支持 macOS/Linux/WSL - Chrome 运营助手 0.1.0:位于
browser-extension/与dist/browser-extension/ - GEOFlow Updater:独立组件,通过本地 Unix socket 负责更新、完整备份、环境验收和恢复点回滚;高风险操作需要管理员密码 + 6 位验证器授权码
- 目标站点 Agent:按渠道生成预配置 PHP 包,含首页、详情页、静态资源、Schema、sitemap、llms.txt
分发渠道有四条:托管站点、GEOFlow Agent、WordPress REST、通用 HTTP API。
运行要求
- PHP 8.3+,Docker 默认镜像可用 8.4
- 数据库 PostgreSQL,推荐 pgvector 镜像或兼容扩展
- Redis,用于队列、缓存、运行状态
- Node.js 构建前端资源,CI 使用 Node 22
- 容器部署用 Docker Compose;生产 Web 层用 Nginx 与 php-fpm
如果 PostgreSQL 没有 pgvector 扩展,需要在部署前确认镜像或扩展可用,否则应用侧的向量相关功能会受限。
开发环境部署
git clone https://github.com/yaojingang/GEOFlow.git
cd GEOFlow
cp .env.example .env
docker compose build
docker compose up -d --remove-orphans
cp 一步先把示例环境变量落成 .env,build 构建镜像,最后一条 up -d --remove-orphans 启动服务并清理已经不在 Compose 文件里的旧容器,避免残留容器占用端口或网络。
生产部署
生产使用 docker-compose.prod.yml,由 Nginx 与 php-fpm 提供 Web 服务。部署前要准备 .env.prod、数据库备份策略、HTTPS、持久化目录与进程管理。
cp .env.prod.example .env.prod
docker compose --env-file .env.prod -f docker-compose.prod.yml build
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d postgres redis
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d init
docker compose --env-file .env.prod -f docker-compose.prod.yml up -d --remove-orphans app web queue ai-quality-queue ai-quality-backfill-queue ai-optimization-queue knowledge-queue scheduler reverb
这里分了四步:构建镜像,先只启动 postgres 与 redis 让存储层就绪,再单独执行 init,最后一次性拉起 app、web、各类队列、scheduler 与 reverb。顺序上不要跳过中间两步直接起全量服务,否则初始化阶段可能因为数据库或缓存没准备好而失败。
生产环境需要显式设置管理员密码、HTTPS、Cookie 安全策略和反向代理配置,这几项不要沿用示例值。持久化目录用于保存数据库与运行状态数据,建议与数据库备份策略一起规划,而不是上线后再补。
已有部署升级
升级已有部署要执行停机排空与安全迁移:先停止写入并排空队列,再做数据库迁移,git pull 之后重建容器。不要只拉代码不重建镜像,PHP 依赖与前端资源都在镜像里。GEOFlow Updater 负责更新、完整备份、环境验收和恢复点回滚这几件事,高风险操作需要管理员密码加 6 位验证器授权码;在动生产库之前,先确认恢复点可用。
项目信息
- 仓库:https://github.com/yaojingang/GEOFlow
- 官网:https://www.geoflow.me