レビュー

無料でページにコメント機能を追加するオープンソースWebコメントエンジン「Comentario」、Dockerでセルフホスト可能


既存のホームページにタグを埋め込むだけで導入でき、Markdown対応・匿名コメント・OAuthログインなど多彩な機能を備え、広告やトラッキングのないオープンソースのコメントエンジン「Comentario」が公開されています。

Comentario
https://comentario.app/en/


comentario / Comentario · GitLab
https://gitlab.com/comentario/comentario

◆デモサイト
Comentario Demo
https://demo.comentario.app/


◆Comentarioの主な機能
・導入が簡単
既存のホームページに2つのタグを埋め込むだけで導入可能で、Dockerを利用すればサーバーの立ち上げも簡単に行えます。

・さまざまな認証方式に対応
OAuthによるソーシャルアカウント連携、OpenID ConnectSingle Sign-Onによるカスタム認証、メールアドレスとパスワードでのユーザー登録に対応しており、設定で許可されていれば匿名でのコメント投稿も可能です。


・Markdown形式に対応
見出しやコードブロック・リスト・テーブルなどの形式に対応し、リンクや画像の埋め込みなども可能。


「画像の埋め込み」・「リンクの埋め込み」・「テーブルの埋め込み」は制限することも可能です。


・コメントの管理
書き込まれたコメントの編集や削除。


・ロールの管理
管理者・モデレーター・投稿者・読み取り専用ユーザーなどのロールの設定。


・スパム対策
AkismetAPILayer SpamChecker、およびPerspectiveを利用し、コメントの内容に応じて自動的にスパム判定を行うことができます。


・統計情報
閲覧数やコメント数、ユーザーのデバイスやブラウザの種類などプライバシー情報に配慮した最低限の情報での統計をグラフなどで表示。


その他、コメント登録後に即反映するかモデレーターの承認を経て反映するかを選択できるほか、コメントのいいね機能やコメントのスレッド表示、メール通知機能なども備えています。

◆構築方法
今回はWindows 11にDocker DesktopPythonを用意した上で、Git Bashのプロンプトを用いて構築します。Comentario用の作業フォルダを作成し移動。

mkdir comentario && cd comentario


docker-compose.ymlを作成し、以下の内容を記述します。

services:
  db:
    image: postgres:17-alpine
    environment:
      POSTGRES_DB: comentario
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    ports:
      - "5432:5432"
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "postgres"]
      timeout: 5s
      retries: 5
      start_period: 10s

  app:
    image: registry.gitlab.com/comentario/comentario
    environment:
      BASE_URL: http://localhost:8080/
      SECRETS_FILE: "/secrets.yaml"
    ports:
      - "8080:80"
    healthcheck:
      test: ["CMD", "wget", "-O", "-", "http://localhost/api/user"]
      timeout: 5s
      retries: 5
      start_period: 5s
    depends_on:
      db:
        condition: service_healthy
    volumes:
      - ./secrets.yaml:/secrets.yaml:ro


secrets.yamlを作成し、以下の内容を記述します。

postgres:
  host:     db
  port:     5432
  database: comentario
  username: postgres
  password: postgres


Comentarioを起動します。

docker-compose up -d


ブラウザを開いてhttp://localhost:8080/にアクセスすると、Comentarioのトップページが表示されるので、管理者を登録するために「Sign Up here」をクリック。


「Your email」にメールアドレス、「Password」にパスワード、「Your name」に任意の名前を入力して「Sign up」をクリック。


ログインフォームが表示されるので、先ほど登録したメールアドレスとパスワードを入力して「Sign in」をクリック。


ダッシュボードが表示されます。


◆コメントの埋め込み
テストサイトのドメイン登録が必要なので「Domains」をクリックし、「Add domain」をクリック。


「Host」の項目では「http://」もしくは「https://」を選択し、ドメインを入力して「Create」をクリック。


登録が完了すると、コメント欄を埋め込むためのコードが表示されるので、コピーしておきます。


次にテスト用のHTMLファイルを作成し、コメント欄を挿入したい場所にコピーしておいたコードを挿入して保存。

<script defer src="http://localhost:8080/comentario.js"></script>
<comentario-comments></comentario-comments>


HTMLファイルを作成したフォルダでローカルサーバーを起動します。

python -m http.server 8000


ブラウザでテストページのURLにアクセスすると、Comentarioのコメント欄が表示されました。


なお、日本語の投稿は問題ありませんが、UIの項目などの表示には日本語が用意されていません。ただし、言語ファイルを用意すれば日本語での表示も可能です。

この記事のタイトルとURLをコピーする

・関連記事
コメントを削除するモデレーターが「何を削除すべきか?」に関する研究結果が公開 - GIGAZINE

YouTubeが「コメント分類」「AIに動画の詳細を聞く」などの生成AI機能をテスト開始、さらにランダム再生ボタンもテスト中 - GIGAZINE

ヤフコメやYouTubeのコメント欄を非表示にできるブラウザ拡張機能「Shut Up」 - GIGAZINE

YouTubeがAIでスパムコメントを取り締まり、違反者は24時間BANされコメント禁止 - GIGAZINE

無料で広告や追跡なしプライバシー最優先の日記アプリ「Journiv」、気分追跡・プロンプト・分析・高度な検索機能を備えオープンソースでセルフホスト可能 - GIGAZINE

in ソフトウェア,   レビュー, Posted by darkhorse_logmk

You can read the machine translated English article Comentario, an open-source web comment e….