什么是 Plume ? Plume 是一个基于 ActivityPub 的联合博客引擎。它是用 Rust 编写的,带有 Rocket 框架,以及 Diesel 与数据库交互。前端使用 Ructe 模板、WASM 和SCSS 。
反向代理假设我们实际访问地址为:https://plume.:444 域名 | 局域网地址 | 备注 |
---|
plume. | http://192.168.0.197:7879 | plume 的访问地址 |
在 npm 中的设置 SSL 都勾选了
命令行安装.env.txt 文件将下面的内容保存为 .env.txt 文件 基于官方 https://docs./docker.sample.env 修改
BASE_URL=plume.: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./environment/ docker-compose.yml 文件将下面的内容保存为 docker-compose.yml 文件 基于官方 https://docs./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.: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.:444 就可以看到主界面了 界面默认显示的是繁体中文,老苏并没找到设置语言的地方;
不管你 BASE_URL 设置了域名还是 IP ,只要用 IP 访问,登录账号或者创建账号都会显示下面的错误
登录后,进入 Dashboard 就可以创建博客了 起个标题 似乎不能使用中文,会报 Invalid name 错误
现在可以开始写博客了 新增文章 发布 填写标签等,因为尚未上传照片,封面先选无 上传图片 上传成功后,能在图片集中看到 编辑文章,选择封面 回到首页看看效果,感觉图片的比例可能不符合要求,显示不全 小结- 环境变量文件中,
BASE_URL 用域名还是 IP 都是可以的,但是访问时一定要用域名,否则登录和注册会报错;既然如此,老苏建议还是用域名吧; - 用命令行创建实例时,域名一定要正确,否则上传的图片会打不开;
参考文档Plume-org/Plume: Federated blogging application, thanks to ActivityPub (now on https://git./ — this is just a mirror) 地址:https://github.com/Plume-org/Plume Installing with Docker ⋅ Plume documentation 地址:https://docs./installation/with/docker/ Plume: a federated blogging application 地址:https:///
|