源码介绍
paopao泡泡是一个真正意义上高性能的微社区,虽然规模不大却拥有完备的功能。
该系统采用了Go+Zinc架构,前端使用Vue3进行构建,采用清新简洁的设计风格,布局类似Twitter的三栏设计。
演示图
泡泡提供明暗两套主题,可以根据系统的主题色自动切换。这样用户可以根据自己的喜好选择适合自己的界面风格。
泡泡的设计注重性能和用户体验,无论是在资源消耗方面还是界面交互方面都做到了优秀的平衡。用户可以享受到快速、流畅的社区体验,并根据个人喜好进行个性化设置。
环境要求
- Go (1.18+)
- Node.js (14+)
- MySQL (5.7+)
- Redis
- Zinc
Zinc是一款轻量级全文搜索引擎,可以查阅 https://zincsearch.com/ 安装
以上环境版本为PaoPao官方的开发版本,仅供参考,其他版本的环境未进行充分测试
安装说明
方式一. 手动安装(推荐)
克隆代码库
https://github.com/rocboss/paopao-ce.git
后端
- 导入项目根目录下的
scripts/paopao.sql
文件至MySQL数据库 - 拷贝项目根目录下
config.yaml.sample
文件至config.yaml
,按照注释完成配置编辑 - 编译后端
- 编译api服务:
make build
编译api服务、内嵌web前端ui:
make build TAGS=’embed’
编译后在release
目录可以找到对应可执行文件。
release/paopao-ce
# 添加 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’
前端
- 进入前端目录
web
,拷贝.env
到.env.local
,编辑.env.local
文件中后端服务地址及其他配置项,下载依赖包cd ./web && cp .env .env.local vim .env.local yarn - 编译前端yarn buildbuild完成后,可以在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.
方式二. 使用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 初衷是搭建本机开发调试环境,如果需要产品部署供外网访问,请自行调优配置参数或使用其他方式部署。
暂无评论内容