Paopao-ce项目Docker Compose部署指南
2025-07-08 07:34:39作者:江焘钦
概述
本文将详细介绍如何使用Docker Compose部署paopao-ce项目。paopao-ce是一个轻量级的社交平台,采用微服务架构设计,通过Docker Compose可以快速搭建其运行环境。
核心服务组件
1. 数据库服务 (MySQL)
db:
image: mysql:${MYSQL_TAG:-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
- 使用MySQL 8.0作为默认版本,可通过环境变量覆盖
- 自动创建名为paopao的数据库和用户
- 挂载初始化SQL脚本,自动执行数据库初始化
- 数据持久化存储在本地./custom/data/mysql/data目录
2. 缓存与搜索服务 (Redis Stack)
redis:
image: redis/redis-stack:${REDIS_STACK_TAG:-7.2.0-v6}
restart: always
ports:
- 6379:6379
- 8001:8001
environment:
REDISEARCH_ARGS: "MAXSEARCHRESULTS 5"
- 使用Redis Stack镜像,包含Redis和RedisSearch功能
- 默认限制最大搜索结果数为5
- 提供RedisInsight管理界面(8001端口)
3. 全文搜索服务 (MeiliSearch)
meili:
image: getmeili/meilisearch:${MEILI_TAG:-v1.7}
restart: always
ports:
- 7700:7700
volumes:
- ./custom/data/meili/data:/meili_data
environment:
- MEILI_MASTER_KEY=paopao-meilisearch
- 使用MeiliSearch提供高性能全文搜索
- 数据持久化存储在本地./custom/data/meili/data目录
- 设置主密钥为paopao-meilisearch
4. 应用后端服务
backend:
image: bitbus/paopao-ce:${PAOPAOCE_TAG:-0.6-alpha}
restart: always
depends_on:
- db
- redis
- meili
volumes:
- ./config.yaml.sample:/app/paopao-ce/config.yaml
- ./custom:/app/paopao-ce/custom
ports:
- 8008:8008
- 使用paopao-ce官方镜像,默认版本为0.6-alpha
- 依赖数据库、缓存和搜索服务
- 挂载配置文件和数据目录
- 应用服务运行在8008端口
网络配置
networks:
paopao-network:
driver: bridge
所有服务都连接到同一个桥接网络paopao-network,确保服务间可以相互通信。
可选服务
配置文件中还包含多个被注释掉的可选服务,包括:
- MinIO对象存储服务
- ZincSearch搜索引擎
- MeiliSearch管理界面
- OpenObserve日志系统
- Pyroscope性能分析工具
- phpMyAdmin数据库管理工具
这些服务可以根据实际需求取消注释并启用。
部署建议
- 环境变量配置:可以通过.env文件设置各服务的镜像版本
- 数据持久化:所有重要数据都配置了本地存储卷,确保数据安全
- 资源分配:根据实际使用情况调整各服务的资源限制
- 安全考虑:生产环境应修改默认密码和密钥
总结
通过这个Docker Compose配置,可以快速搭建paopao-ce项目的完整运行环境。该配置采用了微服务架构,各组件职责明确,便于扩展和维护。开发者可以根据实际需求灵活调整配置,启用或禁用特定服务。