/paopao-ce

🔥A artistic "twitter like" community built on gin+zinc+vue+ts 清新文艺微社区

Primary LanguageGoMIT LicenseMIT

Go Report Card Forks Stargazers MIT License Contributors Issues

Logo

PaoPao

🔥一个清新文艺的微社区
View Demo · Report Bug · Features


预览

Web端:
明色主题

暗色主题

更多演示请前往官网体验(谢绝灌水)

桌面端:

(back to top)

🛠 技术栈

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

后端

  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. 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 .

前端

  1. 进入前端目录 web,编辑 .env 文件中后端服务地址,下载依赖包

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

    yarn build

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

  3. 使用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 .

桌面端

  1. 进入前端目录 web,编辑 .env 文件中后端服务地址,下载依赖包

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

    yarn build
  3. 构建桌面端

    yarn tauri build

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

docker-compose 运行

%> 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。

License

Distributed under the MIT License. See LICENSE for more information.