自建 Postiz,实现X自动发文

Administrator 0 阅读 技术

本文同步自 X:原帖

为什么做

刷到不少人在推 Postiz:开源排帖,能自建代码,嫌维护费劲的去买托管云。

我选择在已有 VPS 上自己改一版——控制权在手,后续能无缝接入 X Articles,而不是停留在“把登录页跑出来就算完事”。

做完的标准很硬核:官方 Compose 跑通、登录页可进、厘清 Articles 的媒体与带链计费边界。代发到底按不按,始终是人在做终审。

你将得到什么

  • 官方主仓、Compose 仓库与自建文档入口
  • 一套可直接交给 AI 的起栈步骤:clone → 配环境变量(脱敏)→ docker compose up
  • 自建部署必踩的三处细节:对外 URL、端口回环与冲突解决、关键服务内存限额
  • Articles 核心边界:只收图、含 URL 帖计价口径、GIF 动图处理路径
  • (已通过实测长文验证链路跑通;多角色拆解另行复盘,此处不赘述)

怎么做

Postiz 主仓是 gitroomhq/postiz-app(AGPL-3.0),开源自建免费,代价是自己扛服务器与维护成本。Compose 配置见 gitroomhq/postiz-docker-compose,官方轻量规格写着 2 vCPU / 2 GB 内存起步,但 Temporal 等组件偏吃资源,建议给更宽裕的规格并加上限额。

可直接丢给 AI 的最小起栈 Prompt:

目标:基于 Postiz 官方 Compose 在已有 VPS 起栈,打通登录页并接入 X Articles(不含绕过审核与外泄密钥)。

  1. 参考官方主仓与 compose 仓,按官方 Docker Compose 文档操作。
  2. clone compose 仓库,配置环境变量(JWT、数据库口令仅留存本地 secrets,勿贴入上下文),执行 docker compose up。
  3. 常见三刀调整(功能意图):
    - 将对外 URL(MAIN_URL / FRONTEND_URL / NEXT_PUBLIC_BACKEND_URL 等)指向自建入口
    - 宿主端口绑定本机回环,交由自建反代接入
    - Temporal UI 默认 8080,若遇端口冲突则调整宿主映射
    - 为 postiz、postgres、redis、temporal 等核心服务配置 mem_limit
  4. 确认容器状态 healthy,浏览器能顺利拉起登录/注册页(严禁破解或绕过)。
  5. 接入 X:严格走官方公开提供方指南,OAuth 凭证本地保管;知晓 X article 模式限制为“Articles take images only”。

踩坑预警写入清单:
- 限制容器内存,防止 Temporal 耗尽系统资源
- 端口冲突提前改映射
- X Articles 模式只支持静图(images only),不支持直接推视频
- X 自 2026-04-20 对含 URL 的发帖有差异化计费,Articles 链按实际口径对照,不轻下定论
- 安全版本请跟进 Release(如修复 PSA 的 v2.25.3)

实际部署测试:对外 URL 绑好反代,改掉冲突端口,加好 mem_limit 启动后各容器 healthy,登录页顺利打通。对接 X 后,已跑通第一篇 Articles 深度长文(实测公开帖)。

起栈架构动图

避坑与边界说明

  1. 别当零维护小机器:轻量机型虽能拉起,但 Temporal 极吃内存,必须手动追加 mem_limit,防止容器把机器撑爆。
  2. 端口预先排查:Temporal UI 默认占用 8080,有冲突直接改映射,不要硬碰。
  3. Articles 媒体边界:文档白纸黑字写着 X article 模式“Articles take images only”。媒体库虽兼容多格式,但在此模式下不能直推视频。
  4. GIF 的实际表现:经由 API/Postiz 发 Articles 时动图可能被拒或压成静态,目前最稳妥的折中路径是进入 X 网页编辑器手动内嵌(此为实操经验,不作官方定论)。
  5. 带链计费口径:X 自 2026-04-20 调整了普通帖与含 URL 帖的计费叙述,Articles 正文外链计费口径建议根据后台用量自行核对,文档中的 STRIP_LINKS_FROM_X_POSTS 可作配置参考。
  6. 紧跟安全版本:漏洞修复请紧跟官方 Release,及时跟进安全补丁(如官方声明的 v2.25.3)。

免责与安全底线:自建不承诺解决 X 开发者账号审核门槛;密钥、Token、内部拓扑与真实生产域名永远不应出现在截图与对外公开发言中。选择 AGPL 自建,就是用自行的运维投入换取完全的掌控感。