PaoPao 清新文艺微社区泡泡 免费开源

Jaysun

温馨提示:这篇文章已超过391天没有更新,请注意相关的内容是否还可用!

一个真正意义上的高性能微社区泡泡,麻雀虽小五脏俱全。

整套系统使用 Go+Zinc 的架构,前端由 Vue3 构建,采用小清新风格,布局类似 Twitter 的三栏设计。
用 Go 写的后端服务运行内存仅 8MB,在单实例 100QPS 时,内存也能稳定在 20MB 左右,资源占用极低。
全文检索用 Zinc 替代了笨重的 ElasticSearch,10 万条数据运行内存在 10MB 左右。

提供明暗两套主题,可以根据系统主题色自动切换。


?paopao-ce v0.2.0 版本正式发布了,欢迎大家体验? 这个版本更新了很多内容,最主要的包括 业务接入层 的代码优化成型,这是一个很有趣的过程。不过有点遗憾 数据逻辑层 的代码优化没有赶在这个版本放出,目前还在收尾阶段,将在v0.3.0版本发布;届时#paopao-ce 将拥有一个专属于自己的 微型服务框架,可以方便快捷的容纳更多好功能、承载更多好想法。

预览

PaoPao 清新文艺微社区泡泡 免费开源

PaoPao 清新文艺微社区泡泡 免费开源

环境要求

  • Go (1.18+)

  • Node.js (14+)

  • Mysql (5.7+)

  • Redis

  • Zinc

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

以上环境版本为PaoPao官方的开发版本,仅供参考,其他版本的环境未进行充分测试

安装说明

方式一. 手动安装(推荐)

克隆代码库

git clone https://github.com/rocboss/paopao-ce.git

后端

  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.

方式二. 使用Docker构建、运行

  • 后端:

# 默认参数构建, 默认内嵌web ui并设置api host为空docker build -t your/paopao-ce:tag .# 内嵌web ui并且自定义API host参数docker build -t your/paopao-ce:tag --build-arg API_HOST=http://api.paopao.info .# 内嵌web ui并且使用本地web/.env中的API hostdocker build -t your/paopao-ce:tag --build-arg USE_API_HOST=no .# 内嵌web ui并且使用本地编译的web/dist构建docker build -t your/paopao-ce:tag --build-arg USE_DIST=yes .# 只编译api serverdocker build -t your/paopao-ce:tag --build-arg EMBED_UI=no .# 运行mkdir custom && docker run -d -p 8008:8008 -v ${PWD}/custom:/app/paopao-ce/custom -v ${PWD}/config.yaml.sample:/app/paopao-ce/config.yaml your/paopao-ce:tag# 或者直接运行构建好的docker imagemkdir custom && docker run -d -p 8008:8008 -v ${PWD}/custom:/app/paopao-ce/custom -v ${PWD}/config.yaml.sample:/app/paopao-ce/config.yaml bitbus/paopao-ce:latest
  • 前端:

cd web# 默认参数构建docker build -t your/paopao-ce:web .# 自定义API host 参数构建docker build -t your/paopao-ce:web --build-arg API_HOST=http://api.paopao.info .# 使用本地编译的dist构建docker build -t your/paopao-ce:web --build-arg USE_DIST=yes .# 运行docker run -d -p 8010:80 your/paopao-ce:web

方式三. 使用 docker-compose 运行

git clone https://github.com/rocboss/paopao-ce.git
docker compose up --build# visit paopao-ce(http://127.0.0.1:8008) and phpmyadmin(http://127.0.0.1:8080)

默认是使用config.yaml.sample的配置,如果需要自定义配置,请拷贝默认配置文件(比如config.yaml),修改后再同步配置到docker-compose.yaml如下:

# file: docker-compose.yaml
...
  backend:
    image: bitbus/paopao-ce:latest
    restart: always
    depends_on:
      - db
      - redis
      - zinc
    # modify below to reflect your custom configure
    volumes:
      - ./config.yaml:/app/paopao-ce/config.yaml
    ports:
      - 8008:8008
    networks:
      - paopao-network
....

注意:默认提供的 docker-compose.yaml 初衷是搭建本机开发调试环境,如果需要产品部署供外网访问,请自行调优配置参数或使用其他方式部署。

隐藏内容
评论可见
前往评论


您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (有 5 条评论,1161人围观)
网友昵称:yy505929
yy505929 V 普通用户 Google Chrome 120.0.0.0 Android 10 地板
02-17 来自河北 回复
emmmmm……看不懂怎么破?感谢大佬分享!
网友昵称:哒哒哒
哒哒哒 V 普通用户 Google Chrome 116.0.0.0 Windows 10 x64 凉席
2023-10-11 来自天津 回复
试试看
网友昵称:httple
httple V 普通用户 Google Chrome 113.0.0.0 Windows 10 x64 板凳
2023-06-18 来自贵州 回复
来看看来看看来看看来看看来看看来看看
网友昵称:wuwuwuzack
wuwuwuzack V 普通用户 Google Chrome 111.0.0.0 Windows 10 x64 椅子
2023-04-13 来自江苏 回复
试试看
网友昵称:sj329059
sj329059 V 普通用户 Google Chrome 111.0.0.0 Windows 10 x64 沙发
2023-04-01 来自山东 回复
[NoProb] 看上去不错

目录[+]

取消
微信二维码
微信二维码
支付宝二维码