OpenSource-Hub
R

Remark42

SHA-256
5.5k stars·プライバシー保護·SHA-256 チェックサム確認済み

軽量なセルフホスト型コメントシステム。ユーザーデータを追跡しません。

スマートダウンロード

Download 版をダウンロード

v1.15.0 · 9.6 MB

コメントを自分で管理し、ユーザーデータを覗き見しない軽量なツール。

主な機能

  • 複数のソーシャルアカウントとメールでのログインに対応し、匿名コメントも可能
  • 多段階のネストされたコメント、投票・ピン留め・認証機能付き
  • Markdown エディター、画像のドラッグ&ドロップアップロードに対応
  • Disqus/WordPress のコメントデータをインポート可能
  • 管理者とユーザーの両方が新しいコメントや返信の通知を受け取れる

できないこと

  • •サーバーとSSL証明書は自分で保守する必要があります。スパム対策機能は内蔵されていないため、サードパーティのサービスと併用することをお勧めします。OAuthと通知の初回設定はやや複雑になる場合があります。

使用例

  • 個人ブログ、技術記事、ニュースサイトのコメントシステム
  • セルフホストが必要で、ユーザーのコメントを第三者に預けたくないシナリオ

詳細説明

Remark42 は、ユーザーのプライバシーを重視した軽量なセルフホスト型コメントエンジンです。Google、Facebook、GitHub、Apple などの多様なソーシャルログインをサポートし、メールアドレスでのログインや匿名アクセスにも対応しています。複数階層のネストされたコメント、Markdown エディター、画像のドラッグ&ドロップによるアップロードを提供し、Disqus/WordPress からのデータインポートもサポートしています。投票、ピン留め、検証システム、モデレーションツールが組み込まれており、コメントの並べ替えも可能です。管理者とユーザーのいずれも、メールや Telegram などで通知を受け取ることができます。システム全体が1つの Docker コンテナにパッケージ化されており、外部データベースは不要で、すべてのデータは1つのファイルに保存されます。マルチサイトモードをサポートし、UI はシンプルでカスタマイズ可能で、ダーク/ライトテーマを提供しています。

トラブルシューティング & FAQ (2)

トラブル対応
新しい remark42 コメントを送信した直後に表示されず、TypeError "can't access property 'block', e.data.user is undefined" が発生するのはなぜですか?

コメントは保存されますが、フロントエンドが create-comment レスポンスを解析できません。rest_private.go では、createCommentCtrl() が R.RenderJSON() の前に w.WriteHeader(http.StatusCreated) を呼び出しています。WriteHeader() が呼び出されるとヘッダーがロックされるため、Content-Type: application/json が設定されず、レスポンスはデフォルトで text/plain となり、フロントエンドのエラーが発生します。

一時的な回避策: ページを再読み込みすると、コメントが表示されます。

コードの修正: rest_private.go 内の先行するステータスコード行を削除します:

-	w.WriteHeader(http.StatusCreated)
 	R.RenderJSON(w, &finalComment)

その後、remark42 を再ビルドして再デプロイします。これにより 201 ではなく HTTP 200 が返されますが、レスポンスは JSON となり、UI は即座に更新されます。201 を維持するには、WriteHeader() を呼び出す前に Content-Type: application/json を設定し、その後で JSON をエンコードします。このリグレッションは PR #1919 / コミット baf0db19 で導入されました。

参照 Issue #1979
トラブル対応
Google Page Experience で「ブラウザエラーがコンソールに記録されました」という警告が 401 API エラーによって発生した場合の修正方法は?

サイトで未認証ユーザーによるAPI呼び出しの401エラーが記録されると、GoogleのCore Web Vitals評価で「ブラウザエラーがコンソールに記録されました」というページエクスペリエンスの問題が発生する可能性があります。これを修正するには、認証が必要なAPIリクエストをログインユーザー時のみ行うか、console.errorを呼び出さずに401レスポンスをキャッチするエラーハンドリング(例:サイレントキャッチブロック)を実装してください。これにより、エラーがコンソールに表示されず、ページエクスペリエンススコアに影響を与えるのを防ぎます。

参照 Issue #1188

タグ

commentself-hostedprivacydockergo

はじめ方

1

インストーラをダウンロード

上のボタンをクリックして、お使いのシステム用のインストーラをダウンロード

2

ソフトウェアをインストール

ダウンロードしたインストーラをダブルクリックし、指示に従ってください

3

Docker がインストールされていることを確認し、次を実行します:docker run -d --name remark42 -p 8080:8080 -e REMARK_URL=https://yourdomain.com -e SITE=your-site umputun/remark42

4

環境変数(OAuth シークレット、メールアドレスなど)を設定します。詳細は公式ドキュメントを参照してください

5

ウェブページに <script> タグを埋め込むだけでコメントボックスが表示されます

インストールガイド
  1. Docker がインストールされていることを確認し、次を実行します:docker run -d --name remark42 -p 8080:8080 -e REMARK_URL=https://yourdomain.com -e SITE=your-site umputun/remark42
  2. 環境変数(OAuth シークレット、メールアドレスなど)を設定します。詳細は公式ドキュメントを参照してください
  3. ウェブページに <script> タグを埋め込むだけでコメントボックスが表示されます
ファイルの整合性

SHA-256 チェックサム確認済み

GitHub 公式 Release ページから抽出されたチェックサム

SHA256 チェックサム

38cb334d6e6dba1affda726fe96df255b56d20b7693ec147d8a000aceb8a4b63

このチェックサムは GitHub Release ページから抽出されたものです。ダウンロード後にファイルの整合性を確認してください。

本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。

オープンソースの透明性

GitHub ソースを見る
環境ガイド

アンインストール情報

コンテナを停止:docker stop remark42 && docker rm remark42、その後データディレクトリ(デフォルトは ./var)を削除すれば、完全にアンインストールできます。

追加の依存関係なし

ダウンロード後すぐに使用可能。追加のランタイムは不要です。

プロジェクト情報
ライセンスMIT
最終更新2026-10-15 08:55:49
GitHub リポジトリ公式サイト

問題が発生?以下のFAQを確認

2 FAQs

類似プロジェクト