Docker实战:Paopao-ce微社区轻松部署!

2025-01-03 22:17:34 2点赞 11收藏 3评论

Docker实战:Paopao-ce微社区轻松部署!

一、Paopao-ce介绍

1.1 Paopao-ce简介

Paopao-ce是一个基于 Gin (Go web框架)、Zinc (Go的NoSQL数据库)、Vue.js (前端框架) 和 TypeScript (JavaScript的超集) 打造的艺术“Twitter-like”社区。它旨在提供一个清新文艺的微型社区环境,让用户能够分享艺术相关的短消息、图片和其他创意内容。

1.2 Paopao-ce特点

  • 简洁优雅的用户界面::清新的设计风格为用户提供愉悦的视觉体验。

  • 强大的多媒体支持::用户可以轻松分享图片、图文、视频等多种形式的艺术作品。

  • 高效的实时交互:实时更新的内容流确保用户第一时间获取到最新动态。

  • 丰富的社交功能::通过点赞、评论和转发等功能促进社区内的互动与交流。

  • 定制化的推荐算法::智能推荐系统帮助用户发现更多感兴趣的艺术内容。

  • 全面的隐私控制::用户可以根据需要调整个人资料和帖子的可见性。

  • 高效的搜索功能::强大的搜索能力帮助用户快速找到相关内容。

  • 开源项目特点::开放源代码,鼓励社区贡献和改进,形成一个持续发展的项目生态。

1.3 使用场景

  • 艺术家分享作品:艺术家上传最新的画作,并附上创作灵感和过程。

  • 设计师交流心得:设计师分享设计理念,与其他同行交流心得。

  • 摄影爱好者晒照片: 摄影爱好者上传旅行中的美景照片,并讲述背后的故事。

  • 音乐人发布新歌预告: 音乐人发布即将上线的新歌预告,吸引粉丝关注。

  • 艺术展览信息分享:展览策展人发布即将到来的艺术展览详情,邀请大家参加。

  • 艺术新闻速递:用户分享最新的艺术新闻,保持社区成员对艺术界的了解。

  • 创意工作坊宣传:工作坊组织者发布创意课程信息,吸引更多参与者报名。

  • 艺术挑战活动发起:社区管理员发起艺术挑战活动,鼓励用户参与并分享作品。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

Docker实战:Paopao-ce微社区轻松部署!

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.使用Docker部署Paopao-ce微社区。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@ubuntu-001:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2024-08-20 15:04:07 UTC; 4s ago TriggeredBy: ● docker.socket Main PID: 21958 (dockerd) Tasks: 10 Memory: 24.7M CPU: 231ms CGroup: /system.slice/docker.service └─21958 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本,Docker版本为27.1.1。

root@jeven01:/data/poapoa/paopao-ce# docker -v Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:/data/poapoa/paopao-ce# docker compose version Docker Compose version v2.19.1

四、下载项目源码

4.1 创建目录

创建安装部署/data/paopao/

mkdir -p /data/paopao/ && cd /data/paopao/

4.2 拉取项目

在github拉取Paopao-ce项目

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

4.3 查看项目内容

查看Paopao-ce

root@jeven01:/data/paopao/paopao-ce# tree -L 1 ./ ./ ├── auto ├── buf.gen.yaml ├── buf.work.yaml ├── build-image.sh ├── build-release.sh ├── CHANGELOG.md ├── cmd ├── config.yaml.sample ├── custom ├── default.pgo ├── deployed-sites.md ├── docker-compose.yaml ├── Dockerfile ├── docs ├── features-status.md ├── go.mod ├── go.sum ├── internal ├── LICENSE ├── main.go ├── Makefile ├── mirc ├── pkg ├── proto ├── README.md ├── ROADMAP.md ├── run.sh ├── scripts └── web 10 directories, 19 files

五、部署Paopao-ce应用

5.1 查看部署文件

  • 进入项目目录

root@jeven01:/data/paopao# cd paopao-ce/ root@jeven01:/data/paopao/paopao-ce# ls auto build-image.sh cmd default.pgo Dockerfile go.mod LICENSE mirc README.md scripts buf.gen.yaml build-release.sh config.yaml.sample deployed-sites.md docs go.sum main.go pkg ROADMAP.md web buf.work.yaml CHANGELOG.md custom docker-compose.yaml features-status.md internal Makefile proto run.sh

  • 查看docker-compose.yaml文件

version: '3.1' services: db: image: mysql:8.0 restart: always environment: MYSQL_DATABASE: paopao MYSQL_USER: paopao MYSQL_PASSWORD: paopao MYSQL_RANDOM_ROOT_PASSWORD: yes volumes: - ./scripts/paopao-mysql.sql:/docker-entrypoint-initdb.d/paopao.sql - ./custom/data/mysql/data:/var/lib/mysql ports: - 3306:3306 networks: - paopao-network # minio: # image: bitnami/minio:latest # restart: always # environment: # MINIO_ROOT_USER: minio-root-user # MINIO_ROOT_PASSWORD: minio-root-password # MINIO_DEFAULT_BUCKETS: paopao:public # ports: # - 9000:9000 # - 9001:9001 # volumes: # - ./custom/data/minio/data:/data # networks: # - paopao-network # redis: # image: redis:7.2.1-alpine # restart: always # ports: # - 6379:6379 # networks: # - paopao-network redis: image: redis/redis-stack:7.2.0-v2 restart: always ports: - 6379:6379 - 8001:8001 environment: REDISEARCH_ARGS: "MAXSEARCHRESULTS 5" networks: - paopao-network # zinc: # image: bitbus/zincsearch:latest # user: zincsearch # restart: always # ports: # - 4080:4080 # volumes: # - ./custom/data/zinc/data:/data # environment: # ZINC_FIRST_ADMIN_USER: admin # ZINC_FIRST_ADMIN_PASSWORD: admin # DATA_PATH: /data # networks: # - paopao-network meili: image: getmeili/meilisearch:v1.4 restart: always ports: - 7700:7700 volumes: - ./custom/data/meili/data:/meili_data environment: - MEILI_MASTER_KEY=paopao-meilisearch networks: - paopao-network # meilisearch-ui: # image: riccoxie/meilisearch-ui:latest # restart: always # ports: # - 24900:24900 # networks: # - paopao-network # openobserve: # image: public.ecr.aws/zinclabs/openobserve:latest # restart: always # ports: # - 5080:5080 # volumes: # - ./custom/data/openobserve/data:/data # environment: # ZO_DATA_DIR: /data # ZO_ROOT_USER_EMAIL: root@paopao.info # ZO_ROOT_USER_PASSWORD: paopao-ce # networks: # - paopao-network # pyroscope: # image: pyroscope/pyroscope:latest # restart: always # ports: # - 4040:4040 # command: # - 'server' # networks: # - paopao-network # phpmyadmin: # image: phpmyadmin:5.2 # depends_on: # - db # ports: # - 8080:80 # environment: # - PMA_HOST=db # - PMA_USER=paopao # - PMA_PASSWORD=paopao # networks: # - paopao-network backend: image: bitbus/paopao-ce:0.5 restart: always depends_on: - db - redis - meili # modify below to reflect your custom configure volumes: - ./config.yaml.sample:/app/paopao-ce/config.yaml - ./custom:/app/paopao-ce/custom ports: - 8008:8008 networks: - paopao-network networks: paopao-network: driver: bridge

5.2 修改设置文件

在项目目录下,修改config.yaml.sample文件中,LocalOSS部分的 Domain值为自己服务器本地IP地址,端口为默认的8008。

vim config.yaml.sample

LocalOSS: # 本地文件OSS存储配置 SavePath: custom/data/paopao-ce/oss Secure: False Bucket: paopao Domain: 192.168.3.88:8008 在这里插入图片描述在这里插入图片描述

在这里插入图片描述

5.3 拉取相关镜像

执行以下命令,拉取Paopao-ce相关镜像。

root@jeven01:/data/paopao/paopao-ce# docker compose pull [+] Pulling 4/4 ✔ backend Pulled 40.4s ✔ db Pulled 37.2s ✔ redis Pulled 36.8s ✔ meili Pulled 38.4s

5.4 创建wikmd容器

  • 使用docker-compose.yaml文件创建Paopao-ce的4个容器

root@jeven01:/data/paopao/paopao-ce# docker compose up -d [+] Running 5/5 ✔ Network paopao-ce_paopao-network Created 0.1s ✔ Container paopao-ce-meili-1 Started 1.3s ✔ Container paopao-ce-db-1 Started 1.2s ✔ Container paopao-ce-redis-1 Started 1.0s ✔ Container paopao-ce-backend-1 Started 1.8s

5.5 检查容器状态

检查Paopao-ce容器状态,确保Paopao-ce容器正常启动。

root@jeven01:/data/paopao/paopao-ce# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS paopao-ce-backend-1 bitbus/paopao-ce:0.5 "/app/paopao-ce/paop…" backend 20 seconds ago Up 17 seconds (healthy) 0.0.0.0:8008->8008/tcp, :::8008->8008/tcp paopao-ce-db-1 mysql:8.0 "docker-entrypoint.s…" db 20 seconds ago Up 19 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp paopao-ce-meili-1 getmeili/meilisearch:v1.4 "tini -- /bin/sh -c …" meili 20 seconds ago Up 19 seconds 0.0.0.0:7700->7700/tcp, :::7700->7700/tcp paopao-ce-redis-1 redis/redis-stack:7.2.0-v2 "/entrypoint.sh" redis 20 seconds ago Up 19 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp, 0.0.0.0:8001->8001/tcp, :::8001->8001/tcp

5.6 检查容器日志

检查Paopao-ce容器,确保服务运行。

docker compose logs Docker实战:Paopao-ce微社区轻松部署!

六、访问Paopao-ce微社区

6.1 进入Paopao-ce初始页

访问地址:http://192.168.3.88:8008,将IP替换为自己服务器IP地址,进入到Paopao-ce初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

Docker实战:Paopao-ce微社区轻松部署!

6.2 注册账号

  • 点击注册账号

Docker实战:Paopao-ce微社区轻松部署!
  • 自定义填写账号密码,点击注册即可。

Docker实战:Paopao-ce微社区轻松部署!Docker实战:Paopao-ce微社区轻松部署!

6.3 发布内容

测试发帖,图文、视频等,都可以正常发布。

Docker实战:Paopao-ce微社区轻松部署!

七、总结

Paopao-ce 以其简洁高效的界面设计为用户打造了一个理想的创作与分享平台,无论是发布代码片段还是技术博客都变得简单快捷;不论是开源项目还是一闪而过的编程灵感,都能即时与社区内的技术同好们分享交流;实时更新的技术动态流确保了用户不会错过任何重要的技术进展,并能轻松参与到技术讨论中去,与开发者们建立联系;定制化的推荐算法让用户能够发现更多感兴趣的项目和技术文章,持续扩展技术视野;同时,强大的隐私设置功能让用户在分享个人项目的同时也能保持对个人信息的掌控,Paopao-ce 是一个专为技术爱好者量身打造的优秀社区平台。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
3评论

  • 精彩
  • 最新
  • 这个不错,界面比较喜欢

    校验提示文案

    提交
    [张小草_点赞] [张小草_点赞] [张小草_点赞]

    校验提示文案

    提交
    收起所有回复
  • 😄😄😄

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
11
扫一下,分享更方便,购买更轻松