轻博客Plume的搭建
什么是 Plume ?
Plume
是一个基于ActivityPub
的联合博客引擎。它是用Rust
编写的,带有Rocket
框架,以及Diesel
与数据库交互。前端使用Ructe
模板、WASM
和SCSS
。
反向代理
假设我们实际访问地址为: https://plume.laosu.ml:444
域名 | 局域网地址 | 备注 |
---|---|---|
plume.laosu.ml |
http://192.168.0.197:7879 |
plume 的访问地址 |
在 npm
中的设置
SSL
都勾选了
命令行安装
.env.txt 文件
将下面的内容保存为 .env.txt
文件
基于官方 https://docs.joinplu.me/docker.sample.env 修改
1 | BASE_URL=plume.laosu.ml:444 |
BASE_URL
:如果用npm
反代,这里填局域网IP
+
端口也可以,例如:192.168.0.197:7879
,但是访问不能用IP
,否则登录会报错;USE_HTTPS
:如果上一步使用局域网IP
,这里改为0
1 | # 使用 IP 的示例 |
ROCKET_SECRET_KEY
:执行penssl rand -base64 32
可以生成;MAIL_
部分请根据自己的情况填写,有两种情况下会用到发邮件;- 忘记密码:网页上需要重置密码时发送邮件;
- 注册策略:设为
email
时,表示注册时,Plume
需要邮件确认;
如果邮件设置没问题,忘记密码可以通过邮件进行重置
POSTGRES_PASSWORD
:可以改复杂一些;DATABASE_URL
:如果POSTGRES_PASSWORD
修改了,这里也要跟着变化;
其他的保持默认就可以,想了解更多的变量,请阅读官方文档:https://docs.joinplu.me/environment/
docker-compose.yml 文件
将下面的内容保存为 docker-compose.yml
文件
基于官方 https://docs.joinplu.me/docker-compose.sample.yml 修改
1 | version: '3' |
以上工作都完成之后,可以依次执行下面的命令
1 | # 新建文件夹 plume 和 子目录 |
接下来进行实例设置,并创建管理员账号
1 | # 重建搜索引擎 |
【重要】:
-d
后面一定要填写完整的域名和端口,否则你上传的图片不能被正确的打开
1 | # 创建管理员账号 |
这些设置,有些可以在 管理
中再修改,但是有些是不能的
现在可以一键启动了
1 | # 一键启动 |
运行
在浏览器中输入 https://plume.laosu.ml:444
就可以看到主界面了
界面默认显示的是繁体中文,老苏并没找到设置语音的地方;
不管你
BASE_URL
设置了域名还是IP
,只要用IP
访问,登录账号或者创建账号都会显示下面的错误
登录后,进入 Dashboard
就可以创建博客了
起个标题
似乎不能使用中文,会报
Invalid name
错误
现在可以开始写博客了
新增文章
发布
填写标签等,因为尚未上传照片,封面先选无
上传图片
上传成功后,能在图片集中看到
编辑文章,选择封面
回到首页看看效果,感觉图片的比例可能不符合要求,显示不全
小结
- 环境变量文件中,
BASE_URL
用域名还是IP
都是可以的,但是访问时一定要用域名,否则登录和注册会报错;既然如此,老苏建议还是用域名吧; - 用命令行创建实例时,域名一定要正确,否则上传的图片会打不开;
参考文档
Plume-org/Plume: Federated blogging application, thanks to ActivityPub (now on https://git.joinplu.me/ — this is just a mirror)
地址:https://github.com/Plume-org/PlumeInstalling with Docker ⋅ Plume documentation
地址:https://docs.joinplu.me/installation/with/docker/Plume: a federated blogging application
地址:https://joinplu.me/