打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
轻博客Plume的搭建

什么是 Plume ?

Plume 是一个基于 ActivityPub 的联合博客引擎。它是用 Rust 编写的,带有 Rocket 框架,以及 Diesel 与数据库交互。前端使用 Ructe模板、WASMSCSS

反向代理

假设我们实际访问地址为:https://plume.laosu.ml:444

域名局域网地址备注
plume.laosu.mlhttp://192.168.0.197:7879plume 的访问地址

在 npm 中的设置

SSL 都勾选了

命令行安装

.env.txt 文件

将下面的内容保存为 .env.txt 文件

基于官方 https://docs.joinplu.me/docker.sample.env 修改

BASE_URL=plume.laosu.ml:444
USE_HTTPS=1

# generate one with openssl rand -base64 32
ROCKET_SECRET_KEY=9gpVFbpgyvkzq/Miz1euBAze8CeRzxzmYoYD5XBA2k8=
ROCKET_ADDRESS=0.0.0.0
ROCKET_PORT=7878

# Mail settings
MAIL_SERVER=smtp.88.com
MAIL_PORT=465
MAIL_USER=wbsu2003@88.com
MAIL_PASSWORD=<第三方邮件客户端专用密码>
MAIL_HELO_NAME=laosu
MAIL_ADDRESS=wbsu2003@88.com

# DATABASE SETUP
POSTGRES_PASSWORD=passw0rd
POSTGRES_USER=plume
POSTGRES_DB=plume

# you can safely leave those defaults
DATABASE_URL=postgres://plume:passw0rd@postgres:5432/plume
MIGRATION_DIRECTORY=migrations/postgres
  • BASE_URL:如果用 npm 反代,这里填局域网 IP + 端口也可以,例如:192.168.0.197:7879,但是访问不能用 IP,否则登录会报错;
  • USE_HTTPS:如果上一步使用局域网 IP,这里改为 0
# 使用 IP 的示例 
BASE_URL=192.168.0.197:7879
USE_HTTPS=0
  • 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 修改

version: '3'

services:
  postgres:
    image: postgres:14
    container_name: plume-db
    env_file: .env.txt
    restart: unless-stopped
    volumes:
      - "./data:/var/lib/postgresql/data"

  plume:
    image: plumeorg/plume:0.7.2
    container_name: plume-web
    env_file: .env.txt
    restart: unless-stopped
    volumes:
      - "./media:/app/static/media"
      - "./.env.txt:/app/.env"
      - "./search_index:/app/search_index"
    ports:
      - "7879:7878"
    depends_on:
      - postgres

以上工作都完成之后,可以依次执行下面的命令

# 新建文件夹 plume 和 子目录
mkdir -p /volume2/docker/plume/{data,media,search_index}

# 进入 plume 目录
cd /volume2/docker/plume

# 运行数据库容器
docker-compose up -d postgres

# 等待 postgres 初始化完成(用 docker-compose logs 看 postgres 的日志输出)
# 数据库设置,第一次迁移运行
docker-compose run --rm plume plm migration run

接下来进行实例设置,并创建管理员账号

# 重建搜索引擎
docker-compose run --rm plume plm search init

# 创建你的实例
docker-compose run --rm plume plm instance new -d 'plume.laosu.ml:444' -n 'laosu test blog' -l 'default licence'

【重要】:-d 后面一定要填写完整的域名和端口,否则你上传的图片不能被正确的打开

# 创建管理员账号
docker-compose run --rm plume plm users new -n 'admin' -N 'laosu' -b 'laosu' -e 'wbsu2003@hotmail.com' -p '123456' --admin

这些设置,有些可以在 管理 中再修改,但是有些是不能的

现在可以一键启动了

# 一键启动
docker-compose up -d

运行

在浏览器中输入 https://plume.laosu.ml:444 就可以看到主界面了

界面默认显示的是繁体中文,老苏并没找到设置语言的地方;

不管你 BASE_URL 设置了域名还是 IP,只要用 IP 访问,登录账号或者创建账号都会显示下面的错误

登录后,进入 Dashboard 就可以创建博客了

起个标题

似乎不能使用中文,会报 Invalid name 错误

现在可以开始写博客了

新增文章

发布

填写标签等,因为尚未上传照片,封面先选无

上传图片

上传成功后,能在图片集中看到

编辑文章,选择封面

回到首页看看效果,感觉图片的比例可能不符合要求,显示不全

小结

  1. 环境变量文件中,BASE_URL 用域名还是 IP 都是可以的,但是访问时一定要用域名,否则登录和注册会报错;既然如此,老苏建议还是用域名吧;
  2. 用命令行创建实例时,域名一定要正确,否则上传的图片会打不开;

参考文档

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/Plume

Installing with Docker ⋅ Plume documentation
地址:https://docs.joinplu.me/installation/with/docker/

Plume: a federated blogging application
地址:https://joinplu.me/

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
无代码业务自动化工具Activepieces
kong管理界面konga的安装
【Docker】Docker and docker
redash_容器版安装及使用
如何使用的Django和PostgreSQL和Docker
Nakama:一个开源在线多人游戏框架
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服