hexo/source/_posts/使用 Docker 构建 Pleroma 实例.md

83 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 使用 Docker 构建 Pleroma 实例
tags:
- Docker
- Pleroma
categories: 推荐
abbrlink: e48ebe86
date: 2023-07-24 21:57:00
cover:
---
Pleroma 是一个去中心化的社区程序,其基于 ActivityPub 协议。
而 ActivityPub 包括 MastodonPawoo 等、Misskeymisskey.io 等、Pleroma 等等。
在这些开源产品中Pleroma 实机上部署环境步骤复杂繁琐。
但它是对服务器性能要求最低的微博客工具,它的配置要求多低呢?
现在 docker 的出现大大简化了部署的方式,只需要简单三步即可轻松搭建实例。
本文将介绍如何使用 docker 构建 Pleroma 实例。
以宝塔面板为例
### 先安装docker
在应用商店中查找docker并安装
### 获取 docker-compose.yml 模板
```
git clone https://git.pleroma.social/pleroma/pleroma-docker-compose.git
cd pleroma-docker-compose
```
接下来所有操作(除 nginx 配置)如果没有加以说明都在这个目录下进行。
### 需要修改的内容
打开`./enviroments/pleroma/pleroma.env`,修改其中的配置:
```
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`
在下面添加
```
import Config
config :pleroma, configurable_from_database: true
```
### 启动容器
随后运行
```
docker-compose up -d
```
启动容器。
### 添加反向代理
```
#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;
}
```
### 创建管理员账户
```
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