使用 Docker 构建 Pleroma 实例

本文最后更新于 2024年4月3日 上午

Pleroma 是一个去中心化的社区程序,其基于 ActivityPub 协议。
而 ActivityPub 包括 Mastodon(Pawoo 等)、Misskey(misskey.io 等)、Pleroma 等等。
在这些开源产品中,Pleroma 实机上部署环境步骤复杂繁琐。
但它是对服务器性能要求最低的微博客工具,它的配置要求多低呢?
现在 docker 的出现大大简化了部署的方式,只需要简单三步即可轻松搭建实例。

本文将介绍如何使用 docker 构建 Pleroma 实例。
以宝塔面板为例

先安装docker

在应用商店中查找docker并安装

获取 docker-compose.yml 模板

1
2
git clone https://git.pleroma.social/pleroma/pleroma-docker-compose.git
cd pleroma-docker-compose

接下来所有操作(除 nginx 配置)如果没有加以说明都在这个目录下进行。

需要修改的内容

打开./enviroments/pleroma/pleroma.env,修改其中的配置:

1
2
3
4
5
6
7
8
9
DB_USER=pleroma # 数据库用户名
DB_PASS=pleroma # 数据库密码
DB_HOST=pleroma-db # 数据库地址
DB_NAME=pleroma # 数据库名
INSTANCE_NAME=Pleroma # 实例名
ADMIN_EMAIL=admin@ops.pleroma.social # 管理员邮箱
NOTIFY_EMAIL=pleroma+admin@ops.pleroma.social # 通知邮箱
DOMAIN=s.pwq.app # 实例域名
PORT=4000 # 实例运行端口

只需要修改域名和邮箱即可
打开./volumes/pleroma/config.exs
在下面添加

1
2
import Config
config :pleroma, configurable_from_database: true

启动容器

随后运行

1
docker-compose up -d

启动容器。

添加反向代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#PROXY-START/

location ^~ /
{
# 4000 是你的实例容器运行端口,如果你修改过,记得改成你的端口。
proxy_pass http://127.0.0.1:4000;
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 REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# proxy_hide_header Upgrade;
}

创建管理员账户

1
docker exec -it pleroma ./opt/pleroma/bin/pleroma_ctl user new admin 邮箱 --admin

运行后会出现一个链接,复制在浏览器即可重置密码.

修改文件夹权限

/root/pleroma-docker-compose/volumes/pleroma下的uploads权限设置为777
当然如果你用S3协议的对象存储则不需要修改
直接在后台设置S3即可.

演示地址

https://chaihu.top