更多演示请前往官网体验(谢绝灌水)
PaoPao主要由以下优秀的开源项目/工具构建
- Go (1.17+)
- Node.js (14+)
- MySQL (5.7+)
- Redis
- Zinc
* Zinc是一款轻量级全文搜索引擎,可以查阅 https://zincsearch.com/ 安装
以上环境版本为PaoPao官方的开发版本,仅供参考,其他版本的环境未进行充分测试
宝塔安装
我们为宝塔用户提供了超详细安装教程 点此查看
普通安装
克隆代码库
git clone 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
-
直接运行后端
运行api服务:make run
运行api服务、web前端ui服务:
make run TAGS='embed'
提示: 如果需要内嵌web前端ui,请先构建web前端(建议设置web/.env为VITE_HOST="")。
-
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://paopao.info . # 内嵌web ui并且使用本地web/.env中的API host %> docker 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 server %> docker build -t your/paopao-ce:tag --build-arg EMBED_UI=no .
-
进入前端目录
web
,编辑.env
文件中后端服务地址,下载依赖包cd ./web vim .env yarn
-
编译前端
yarn build
build完成后,可以在dist目录获取编译产出,配置nginx指向至该目录即可
-
使用Docker构建
%> cd web # 默认参数构建 %> docker build -t your/paopao-ce:web . # 自定义API host 参数构建 %> docker build -t your/paopao-ce:web --build-arg API_HOST=http://paopao.info . # 使用本地编译的dist构建 %> docker build -t your/paopao-ce:web --build-arg USE_DIST=yes .
-
进入前端目录
web
,编辑.env
文件中后端服务地址,下载依赖包cd ./web vim .env yarn
-
编译前端
yarn build
-
构建桌面端
yarn tauri build
桌面端是使用Rust + tauri编写 的,需要安装tauri的依赖,具体参考https://tauri.studio/v1/guides/getting-started/prerequisites.
%> git clone https://github.com/rocboss/paopao-ce.git
%> docker compose up --build
# visit http://localhost:8008
默认是使用config.yaml.sample的配置,如果需要自定义配置,请拷贝默认配置文件(比如config.yaml),修改后再同步配置到docker-compose.yaml如下:
# file: docker-compose.yaml
...
backend:
build:
context: .
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
....
建议后端服务使用 supervisor
守护进程,并通过 nginx
反向代理后,提供API给前端服务调用。
短信通道使用的聚合数据,如果申请不下来,可以考虑替换其他服务商。
代码结构比较简单,很方便扩展
喜欢的朋友欢迎给个Star、贡献PR。
Distributed under the MIT License. See LICENSE
for more information.