首页
/ Commento评论系统Docker Compose部署指南

Commento评论系统Docker Compose部署指南

2025-07-09 04:29:34作者:裴麒琰

Commento是一个轻量级、隐私友好的评论系统,可以作为Disqus等商业评论平台的替代方案。本文将详细介绍如何使用Docker Compose快速部署Commento评论系统。

系统架构概述

Commento系统由两个核心组件构成:

  1. Commento服务器:处理评论的存储、检索和展示
  2. 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

安全建议

  1. 生产环境中务必修改默认的postgres用户密码
  2. 考虑添加POSTGRES_HOST_AUTH_METHOD环境变量控制认证方式

网络与存储

networks:
  db_network:

volumes:
  postgres_data_volume:
  • db_network:创建专用网络确保数据库通信安全
  • postgres_data_volume:持久化存储卷,防止容器重启后数据丢失

部署步骤

  1. 创建项目目录并保存上述配置为docker-compose.yml
  2. 执行部署命令:
    docker-compose up -d
    
  3. 验证服务状态:
    docker-compose ps
    

常见问题解决

端口冲突

如果8080端口已被占用,可修改为其他端口,例如:

ports:
  - 8081:8080

同时需要同步更新COMMENTO_ORIGIN中的端口号。

数据库连接问题

检查数据库容器是否正常启动:

docker-compose logs db

HTTPS配置

生产环境建议配置HTTPS,可通过反向代理(如Nginx)实现,或设置COMMENTO_ORIGIN为https地址。

维护建议

  1. 定期备份PostgreSQL数据卷
  2. 监控容器资源使用情况
  3. 关注官方镜像更新,及时升级版本

通过以上步骤,您已成功部署了一个功能完整的Commento评论系统。接下来可以在您的网站中集成Commento提供的JavaScript代码片段,开始使用这个隐私友好的评论解决方案。