Paopao—开源微社区源码、支持Docker(附官方教程)

最后编辑时间: 2023-04-04

源码介绍

微社区轻论坛源码带广场和话题,是一款开源微社区解决方案,适合垂直类社区平台交流需求。

安装部署需要掌握go语言 以及Node.js 相关部署经验。

功能两点

前后端分离架构,服务模块化,无过多冗余设计,很适合横向扩展
丰富的注释及文档,二次开发上手简单,精致大气的UI设计
简单冒泡/文章长文双模式,最大程度匹配发言角色需求
图文、视频、附件等多媒体文件支持

环境要求

  • Go (1.17+)
  • Node.js (14+)
  • MySQL (5.7+)
  • Redis
  • Zinc

* Zinc是一款轻量级全文搜索引擎,可以查阅 https://zincsearch.com/ 安装

安装说明

后端

  1. 导入项目根目录下的 scripts/paopao.sql 文件至MySQL数据库

  2. 拷贝项目根目录下 config.yaml.sample 文件至 config.yaml,按照注释完成配置编辑

  3. 编译后端
    编译api服务:

    make build

    编译api服务、内嵌web前端ui:

    make build TAGS='embed'

    编译后在release目录可以找到对应可执行文件。

    release/paopao-ce
  4. 直接运行后端
    运行api服务:

    make run

    运行api服务、web前端ui服务:

    make run TAGS='embed'

    提示: 如果需要内嵌web前端ui,请先构建web前端(建议设置web/.env为VITE_HOST=””)。

  5. 使用内置的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功能。

前端

  1. 进入前端目录 web,拷贝.env 到 .env.local,编辑 .env.local 文件中后端服务地址及其他配置项,下载依赖包

    cd ./web && cp .env .env.local
    vim .env.local
    yarn
  2. 编译前端

    yarn build

    build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可

桌面端

  1. 进入前端目录 web,拷贝.env 到 .env.local,编辑 .env.local 文件中后端服务地址及其他配置项,下载依赖包

    cd ./web && cp .env .env.local
    vim .env.local
    yarn
  2. 编译前端

    yarn build
  3. 构建桌面端

    yarn tauri build

    桌面端是使用Rust + tauri编写 的,需要安装tauri的依赖,具体参考https://tauri.studio/v1/guides/getting-started/prerequisites.

demo:https://www.paopao.info/#/

下载地址:https://github.com/rocboss/paopao-ce

请在下方留下您的评论.加入TG吹水群