自托管社交媒体管理软件Mixpost
本文软件应网友
ilikeit
的要求而折腾;
什么是 Mixpost ?
Mixpost
是一款强大且多功能的社交媒体管理软件,旨在简化社交媒体操作并增强内容营销策略。可以让您轻松地在一个地方创建、安排、发布和管理社交媒体内容,没有任何限制或每月订阅费。
软件特点:
简化的社交帐户管理: 将所有社交媒体帐户集中在一个地方,以实现更智能、更高效的管理。
高级分析: 深入了解受众的行为和偏好。
Mixpost
根据共享的数据为每个平台提供详细的分析。帖子版本和条件: 为每个社交网络定制您的内容,并自动对高性能帖子进行后续评论,以增强参与度和影响力。
高效媒体库: 快速访问和重复使用图像、
GIF
和视频等媒体文件,并与库存图像源集成以获取多样化内容。团队协作和工作区: 通过专用工作区促进团队协作。讨论想法、管理任务和监控绩效,所有这些都在一个集中的平台上完成。
队列和日历管理: 建立自然的内容发布时间表,并通过易于使用的日历直观地展示您的策略。
可定制的帖子模板: 通过可重复使用的帖子模板提高效率,非常适合保持整个社交媒体渠道的一致性。
动态变量和主题标签组: 插入动态文本并战略性地组织主题标签,以提高帖子效果。
准备
Mixpost
只支持 SSL
协议,比如你访问 http://群晖IP:9020
会自动t跳转到 https://群晖IP:9020/mixpost/login
,从而导致错误
最近 cloudflared
总是总是连不上,所以这次用了 tailscale + npm
来验证,这是个内网的方案,所以本文只有安装,不涉及功能
文章传送门:用自定义域名访问tailscale节点
反向代理
假设我们实际访问地址为: https://mixpost.xxsu.cf
域名 | 局域网地址 | 备注 |
---|---|---|
mixpost.xxsu.cf |
http://192.168.0.197:9020 |
Mixpost 的访问地址 |
在 npm
中的设置
SSL
都勾选了
安装
在群晖上以 Docker 方式安装。
mixpost
有三个版本,分别是 Mixpost Lite
、Mixpost Pro
和 Mixpost Enterprise
,后两个都需要先申请 license
在注册表中搜索 mixpost
,选择第一个 inovector/mixpost
,版本选择 latest
。
本文写作时,
Lite
版的latest
版本对应为v1.7.1
;
涉及到 3
个容器,采用 docker-compose
方式安装,参照了官方的文档:https://docs.mixpost.app/enterprise/installation/docker
env.txt
改名是为了方便在 Filestation
编辑修改
1 | # The name of your application. |
变量都有说明,捡主要的说一下
APP_DOMAIN
:填入我们在前面设置的域名APP_KEY
:有两种方式生成,一种是直接访问 https://mixpost.app/tools/encryption-key-generator ,将生成的key
替换到APP_KEY
中
另一种是直接留空,等容器启动后,进入容器后执行
1 | # 生成应用程序密钥 |
相对来说,第一种更简单一些
更多环境变量的说明,请参考官方文档:https://docs.mixpost.app/lite/configuration/environment-variables
docker-compose.yml
将下面的内容保存为 docker-compose.yml
文件
1 | version: '3.1' |
为了省事,数据库老苏没用 mysql/mysql-server:8.0
,而是用了机器中已有的 mysql:8.0
,这两个镜像有什么区别?是否会导致问题,老苏也不是太清楚。如果不放心,建议还是更换成官方要求的镜像吧
然后执行下面的命令
1 | # 新建文件夹 mixpost 和 子目录 |
运行
按我们前面 APP_DOMAIN
中的设置,在浏览器中输入 https://域名
就能看到登录界面
系统提供了一个默认用户
1 | Email:admin@example.com |
如果你想用自己的用户名登录,可以执行下面的操作
1 | # 进入容器 |
登录成功后的主界面
点 ADD ACCOUNTS
添加社交账号
- 点
CONFIGURE SERVICES
设置第三方服务的凭证
- 点
Add account
设置Mastodon
故障排除
如果出现异常情况
- 首先应该查看容器的状态是否正常
其次查看容器的日志
最后要看看
laravel.log
Timed out
多容器启动时,比较容易出现超时,尤其是老苏这种机械硬盘的老机器
可以将 COMPOSE_HTTP_TIMEOUT
的值设大一点
1 | # 默认值是 60 |
Internal error
登录后显示下面这种情况
经查 laravel.log
,显示是数据库 Connection refused
,说明数据库没有连上,需要检查 DB_HOST
、DB_PORT
等数据库的相关设置是否正确
登录失败
这个说明数据库连接没问题,但是数据库中没有相应的表单和记录,原因不清楚,可以进容器做 migrate
1 | # 进入容器 |
老苏只能列一些自己遇到的问题,其他的请查阅官方的问题排查指南:https://docs.mixpost.app/troubleshooting/
参考文档
inovector/mixpost: Mixpost - Self-hosted social media management software (Buffer alternative)
地址:https://github.com/inovector/mixpostSelf-hosted, Open Source Social Media Management - Mixpost
地址:https://mixpost.app/Mixpost: Comprehensive Self-hosted Social Media Management Software
地址:https://docs.mixpost.app/