Commento评论系统Docker Compose部署指南
2025-07-09 04:29:34作者:裴麒琰
Commento是一个轻量级、隐私友好的评论系统,可以作为Disqus等商业评论平台的替代方案。本文将详细介绍如何使用Docker Compose快速部署Commento评论系统。
系统架构概述
Commento系统由两个核心组件构成:
- Commento服务器:处理评论的存储、检索和展示
- PostgreSQL数据库:持久化存储所有评论数据
这两个服务通过Docker网络(db_network)进行通信,确保数据安全传输。
部署前准备
在开始部署前,请确保您的系统已安装:
- Docker引擎(版本17.06.0+)
- Docker Compose(版本1.14.0+)
配置文件详解
服务定义
services:
server:
image: registry.gitlab.com/commento/commento
ports:
- 8080:8080
environment:
COMMENTO_ORIGIN: http://commento.example.com:8080
COMMENTO_PORT: 8080
COMMENTO_POSTGRES: postgres://postgres:postgres@db:5432/commento?sslmode=disable
depends_on:
- db
networks:
- db_network
关键参数说明:
COMMENTO_ORIGIN
:设置Commento服务的外部访问地址,需替换为您的实际域名COMMENTO_PORT
:服务监听端口,与端口映射保持一致COMMENTO_POSTGRES
:数据库连接字符串,格式为postgres://用户名:密码@主机:端口/数据库名
数据库服务
db:
image: postgres
environment:
POSTGRES_DB: commento
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
networks:
- db_network
volumes:
- postgres_data_volume:/var/lib/postgresql/data
安全建议:
- 生产环境中务必修改默认的postgres用户密码
- 考虑添加POSTGRES_HOST_AUTH_METHOD环境变量控制认证方式
网络与存储
networks:
db_network:
volumes:
postgres_data_volume:
db_network
:创建专用网络确保数据库通信安全postgres_data_volume
:持久化存储卷,防止容器重启后数据丢失
部署步骤
- 创建项目目录并保存上述配置为
docker-compose.yml
- 执行部署命令:
docker-compose up -d
- 验证服务状态:
docker-compose ps
常见问题解决
端口冲突
如果8080端口已被占用,可修改为其他端口,例如:
ports:
- 8081:8080
同时需要同步更新COMMENTO_ORIGIN中的端口号。
数据库连接问题
检查数据库容器是否正常启动:
docker-compose logs db
HTTPS配置
生产环境建议配置HTTPS,可通过反向代理(如Nginx)实现,或设置COMMENTO_ORIGIN为https地址。
维护建议
- 定期备份PostgreSQL数据卷
- 监控容器资源使用情况
- 关注官方镜像更新,及时升级版本
通过以上步骤,您已成功部署了一个功能完整的Commento评论系统。接下来可以在您的网站中集成Commento提供的JavaScript代码片段,开始使用这个隐私友好的评论解决方案。