無料でページにコメント機能を追加するオープンソース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 ConnectやSingle Sign-Onによるカスタム認証、メールアドレスとパスワードでのユーザー登録に対応しており、設定で許可されていれば匿名でのコメント投稿も可能です。

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

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

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

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

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

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

その他、コメント登録後に即反映するかモデレーターの承認を経て反映するかを選択できるほか、コメントのいいね機能やコメントのスレッド表示、メール通知機能なども備えています。
◆構築方法
今回はWindows 11にDocker DesktopとPythonを用意した上で、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の項目などの表示には日本語が用意されていません。ただし、言語ファイルを用意すれば日本語での表示も可能です。
・関連記事
コメントを削除するモデレーターが「何を削除すべきか?」に関する研究結果が公開 - 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….







