postiz-app 是一款利用 AI 增强的社交媒体排程工具,旨在帮助用户更高效地管理和发布社交媒体内容。AI 辅助内容创作,根据用户提供的主题或关键词,自动生成文章、帖子或推文。帮助用户优化内容,例如改进语言表达、添加相关标签、选择最佳发布时间等。提供分析工具,帮助用户跟踪其社交媒体表现,支持团队协作,允许多个用户共同管理和发布社交媒体内容。
特性
- 无缝排程 安排、分析并与您的受众互动。将社交媒体帖子跨多个渠道同步发布。
- AI 内容助手 通过 AI 助手改进内容创作流程,它可以为您完成所有任务。
- 用 AI 设计 使用类似 Canva 的工具,为您的社交媒体帖子创建引人注目的视觉效果,并通过 AI 生成图片。
- 团队协作管理 轻松管理您的社交媒体渠道。与团队协作并分配任务。
- 广泛的市场平台 通过与网红和品牌的合作,将您的品牌曝光给更广泛的受众。
- 全面的数据分析 从数据中学习并改进您的社交媒体策略。跟踪表现并优化内容。
安装
Docker Compose
网络要求
- HTTPS 必须启用(或运行在 localhost)
Postiz 的登录 cookie 被标记为“安全”,这意味着您必须在 localhost 或 HTTPS 环境下运行。这是现代 Web 浏览器中所谓的“安全上下文”。
如果未使用 HTTPS 或 localhost,您将无法登录,因为浏览器会拒绝发送登录 cookie。
Postiz 不会为您生成 HTTPS 证书,其服务器目前也无法直接配置 HTTPS 证书。因此,您需要使用反向代理来处理 HTTPS。关于常见反向代理的文档可以在“反向代理”部分找到。如果您从未在 Docker Compose 中使用反向代理,推荐使用 Caddy。
网络端口
- 5000/tcp:Postiz 在容器中运行时的入口点端口。您的反向代理应连接到此端口。
- 4200/tcp:Frontend 服务(Web 界面)。大多数用户无需公开此端口。
- 3000/tcp:Backend 服务(API)。大多数用户无需公开此端口。
- 5432/tcp:Postgres 容器的端口。大多数用户无需公开此端口。
- 6379/tcp:Redis 容器的端口。大多数用户无需公开此端口。
如果您使用 Docker 镜像,建议仅公开端口 5000 给外部代理,这可以降低配置错误的可能性,并简化网络管理。
配置选项
- 选项 A:在
docker-compose.yml
文件中定义环境变量。 - 选项 B:在单独的
postiz.env
文件中定义环境变量,并将其挂载到 Postiz 容器的/config
。 - 选项 C:在
docker-compose.yml
文件旁边的.env
文件中定义环境变量(不推荐)。 - 或混合使用以上选项!
您可以参考配置参考页面了解完整的配置设置列表。
网络配置示例
services:
postiz:
image: ghcr.io/gitroomhq/postiz-app:latest
container_name: postiz
restart: always
environment:
# 必须更改此处,将 `postiz.your-server.com` 替换为您的 DNS 名称(即浏览器访问的地址)。
MAIN_URL: "https://postiz.your-server.com"
FRONTEND_URL: "https://postiz.your-server.com"
NEXT_PUBLIC_BACKEND_URL: "https://postiz.your-server.com/api"
JWT_SECRET: "随机字符串,每次安装都需要唯一 - 随意输入字符!"
# 以下默认值通常无需更改,但如果您更改了用户/密码,请在下面的
# postiz-postgres 或 postiz-redis 服务中进行更新。
DATABASE_URL: "postgresql://postiz-user:postiz-password@postiz-postgres:5432/postiz-db-local"
REDIS_URL: "redis://postiz-redis:6379"
BACKEND_INTERNAL_URL: "http://localhost:3000"
IS_GENERAL: "true" # 自托管所需。
# 容器镜像已预配置为使用 /uploads 存储文件。
# 除非有充分理由,否则不建议更改此项!
STORAGE_PROVIDER: "local"
UPLOAD_DIRECTORY: "/uploads"
NEXT_PUBLIC_UPLOAD_DIRECTORY: "/uploads"
volumes:
- postiz-config:/config/
- postiz-uploads:/uploads/
ports:
- 5000:5000
networks:
- postiz-network
depends_on:
postiz-postgres:
condition: service_healthy
postiz-redis:
condition: service_healthy
postiz-postgres:
image: postgres:17-alpine
container_name: postiz-postgres
restart: always
environment:
POSTGRES_PASSWORD: postiz-password
POSTGRES_USER: postiz-user
POSTGRES_DB: postiz-db-local
volumes:
- postgres-volume:/var/lib/postgresql/data
networks:
- postiz-network
healthcheck:
test: pg_isready -U postiz-user -d postiz-db-local
interval: 10s
timeout: 3s
retries: 3
postiz-redis:
image: redis:7.2
container_name: postiz-redis
restart: always
healthcheck:
test: redis-cli ping
interval: 10s
timeout: 3s
retries: 3
volumes:
- postiz-redis-data:/data
networks:
- postiz-network
volumes:
postgres-volume:
external: false
postiz-redis-data:
external: false
postiz-config:
external: false
postiz-uploads:
external: false
networks:
postiz-network:
external: false