Paopao—开源微社区源码、支持Docker(附官方教程)
源码介绍
微社区轻论坛源码带广场和话题,是一款开源微社区解决方案,适合垂直类社区平台交流需求。
安装部署需要掌握go语言 以及Node.js 相关部署经验。
功能两点
前后端分离架构,服务模块化,无过多冗余设计,很适合横向扩展
丰富的注释及文档,二次开发上手简单,精致大气的UI设计
简单冒泡/文章长文双模式,最大程度匹配发言角色需求
图文、视频、附件等多媒体文件支持
环境要求
- Go (1.17+)
- Node.js (14+)
- MySQL (5.7+)
- Redis
- Zinc
* Zinc是一款轻量级全文搜索引擎,可以查阅 https://zincsearch.com/ 安装
安装说明
后端
-
导入项目根目录下的
scripts/paopao.sql文件至MySQL数据库 -
拷贝项目根目录下
config.yaml.sample文件至config.yaml,按照注释完成配置编辑 -
编译后端
编译api服务:make build
编译api服务、内嵌web前端ui:
make build TAGS='embed'编译后在
release目录可以找到对应可执行文件。release/paopao-ce
-
直接运行后端
运行api服务:make run
运行api服务、web前端ui服务:
make run TAGS='embed'提示: 如果需要内嵌web前端ui,请先构建web前端(建议设置web/.env为VITE_HOST=””)。
-
使用内置的Migrate机制自动升级维护SQL DDL:
# 添加 Migration 功能到 Features 中 开启migrate功能 vim config.yaml # file: config.yaml # Features: # Default: ["Base", "MySQL", "Zinc", "MinIO", "LoggerZinc", "Migration"] # 编译时加入migration tag编译出支持migrate功能的可执行文件 make build TAGS='migration' release/paopao-ce # 或者 带上migration tag直接运行 make run TAGS='migration'
注意:默认编译出来的可执行文件是不内置migrate功能,需要编译时带上migration tag才能内置支持migrage功能。
前端
-
进入前端目录
web,拷贝.env到.env.local,编辑.env.local文件中后端服务地址及其他配置项,下载依赖包cd ./web && cp .env .env.local vim .env.local yarn
-
编译前端
yarn build
build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可
桌面端
-
进入前端目录
web,拷贝.env到.env.local,编辑.env.local文件中后端服务地址及其他配置项,下载依赖包cd ./web && cp .env .env.local vim .env.local yarn
-
编译前端
yarn build
-
构建桌面端
yarn tauri build
桌面端是使用Rust + tauri编写 的,需要安装tauri的依赖,具体参考https://tauri.studio/v1/guides/getting-started/prerequisites.
相关文档
评论与补充0
有问题或想补充的,写在下面 · 选中正文文字再点「报告错误」会自动引用还没有评论。有疑问、补充,或者发现错字,都可以写在下面。
