什么是 PaoPao ?
PaoPao
是一个Go
写的轻量级社区。采用Gin+Vue
实现的微社区,界面清爽拥有话题、发布短内容、评论等功能。
安装
在群晖上以 Docker 方式安装。
本文写作时,
bitbus/paopao-ce
镜像,latest
对应的版本是0.5.2
接下来要准备 3
个文件,分别是:
paopao-mysql.sql
:数据库初始化脚本;config.yaml.sample
:应用的设置文件;docker-compose.yml
:Docker Compose
工具使用的配置文件,用于定义和管理多个docker
容器的服务;
paopao-mysql.sql
文件比较长,直接去官网下载,不需要修改
地址: https://github.com/rocboss/paopao-ce/blob/main/scripts/paopao-mysql.sql
config.yaml.sample
文件比较长,直接去官网下载
地址:
https://github.com/rocboss/paopao-ce/blob/main/config.yaml.sample
文件需要根据自己的设置进行修改,将 LocalOSS
中的 Domain
后面的值,由 127.0.0.1:8008
改为你群晖的主机 IP
+ 8038
端口或者域名
之所以是
8038
而不是8008
是因为主机端口在docker-compose.yml
中设置为了8038
否则上传的图片会显示不出来
docker-compose.yml
将下面的内容保存为 docker-compose.yml
,这是基于官方的 docker-compose.yaml
修改而成
原文件地址:https://github.com/rocboss/paopao-ce/blob/main/docker-compose.yaml
version: '3.1'services:db:image: mysql:8.0container_name: paopao-dbrestart: always#ports:# - 3306:3306volumes:- ./paopao-mysql.sql:/docker-entrypoint-initdb.d/paopao.sql- ./mysql_data:/var/lib/mysqlenvironment:MYSQL_DATABASE: paopaoMYSQL_USER: paopaoMYSQL_PASSWORD: paopaoMYSQL_RANDOM_ROOT_PASSWORD: 'yes'redis:image: redis/redis-stack:7.2.0-v2container_name: paopao-redisrestart: always#ports:# - 6379:6379# - 8001:8001environment:REDISEARCH_ARGS: "MAXSEARCHRESULTS 5"meili:image: getmeili/meilisearch:v1.4container_name: paopao-meilirestart: always#ports:# - 7700:7700volumes:- ./meili_data:/meili_dataenvironment:- MEILI_MASTER_KEY=paopao-meilisearchbackend:image: bitbus/paopao-cecontainer_name: paopao-webrestart: alwaysports:- 8038:8008# modify below to reflect your custom configurevolumes:- ./config.yaml.sample:/app/paopao-ce/config.yaml- ./data:/app/paopao-ce/customdepends_on:- db- redis- meili
- 容器
paopao-db
的环境变量
可变 | 值 |
---|---|
MYSQL_DATABASE | 数据库库名 |
MYSQL_USER | 数据库用户 |
MYSQL_PASSWORD | 数据库用户对应的密码 |
MYSQL_RANDOM_ROOT_PASSWORD | 启用随机生成的 root 用户密码 |
前三个参数如果修改了默认值,需要同步修改
config.yaml.sample
文件中对应的MySQL
数据库部分
然后执行下面的命令
# 新建文件夹 paopao 和 子目录
mkdir -p /volume1/docker/paopao/{data,meili_data,mysql_data}# 进入 paopao 目录
cd /volume1/docker/paopao# 将 paopao-mysql.sql、config.yaml.sample、docker-compose.yml 三个文件放入当前目录
现在的目录结构如下:
为了避免容器 paopao-web
因连接数据库失败而反复重启,我们需要需要先启动数据库
# 一键启动数据库
docker-compose up -d db
数据库初始化大概5分钟左右,当看到日志显示下面的信息,数据库应该就准备好了
[Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.33' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.
接下来就可以启动其他容器了
# 一键启动
docker-compose up -d
如果没什么意外的话,现在应该能看到 4
个容器在运行
运行
在浏览器中输入 http://群晖IP:8038
就能看到主界面
先点注册
按钮注册新用户
注册成功之后的界面
发帖方式类似于微博和推特,先试试图片,看起来一切正常
PaoPao
和我们之前介绍的 Misskey
是同类应用,只是 PaoPao
并不是去中心化的
文章传送门:去中心化开源社交平台Misskey
但是,PaoPao
有桌面端,下载地址:https://github.com/rocboss/paopao-ce/releases
有兴趣你可以搭一个试试
参考文档
rocboss/paopao-ce: 🔥An artistic “twitter like” community built on gin+zinc+vue+ts 清新文艺微社区
地址:https://github.com/rocboss/paopao-ce
广场 | 泡泡 - 一个清新文艺的微社区
地址:https://www.paopao.info