このプロジェクトについて

Etherpadは、著作者と履歴が重要となる文書のためのリアルタイム共同編集エディタです。2009年から少人数のボランティアチームによってメンテナンスされており、Apache License v2の下でリリースされています。 READMEに記載されている中核機能は以下の通りです: - キーストロークごとに著者に帰属され、著者の色がインラインで表示されるリアルタイム共同編集。 - 完全なリビジョン履歴が保持され、文書の履歴を文字単位でスクラブできるタイムスライダーを備えています。 - 完全なデータエクスポートが組み込まれており、運用者は文書履歴に常にアクセスできます。 - 自己ホスト運用:プロジェクトはテレメトリもアップセルもないと明言しており、AI機能はオペレーターが選択したモデルを指すプラグインを通じてオプトイン方式です。PRIVACY.mdには、Etherpad自身のコードが行う2つのオプトアウト可能なネットワークコールが記載されています。 - スケーラビリティの主張:プロジェクトは、パッドあたり数千人の同時編集者をサポートすることを示すスケールテストページにリンクしています。 - 国際化:主にTranslateWikiを通じて105言語に翻訳されています。 - 拡張性:プラグインサイトで数百のプラグインが利用可能なプラグインフレームワークを持ち、管理Webインターフェースまたはコマンドラインからインストールできます。 - 埋め込み可能性:パッド、ユーザー、グループを管理するためのHTTP APIを備え、OpenAPI定義は /api/openapi.json で公開されています。さらに、パッドをウェブサイトに埋め込むためのjQueryプラグインもあります。 READMEで説明されているインストールオプション: - macOS/Linux/WSL(シェル)とWindows(PowerShell)向けのワンラインインストーラー。リポジトリをクローンし、依存関係をインストールしてフロントエンドをビルドします。Node.js >= 24 と git が必要です。環境変数を設定すると、インストールと起動を1ステップで行えます。 - Docker HubとGitHub Container Registryで公開されている公式イメージを使用したDocker Composeの例。PostgreSQLサービス、プラグインとvarデータ用の永続ボリューム、管理者パスワード、データベース接続、その他の設定用の環境変数が含まれます。 - 手動の手順:pnpmをインストールし、リポジトリをクローンして、pnpm i、pnpm run build:etherpad、pnpm run prod を実行し、localhost:9001 にアクセスします。 設定と管理: - 設定は settings.json にあり、代替設定ファイル、資格情報の上書き、APIキーとセッションキーのファイル、${ENV_VAR} または ${ENV_VAR:default_value} 構文による環境変数の置換をサポートしています。 - 設定は /admin Webインターフェースからも変更できます。 - READMEは、本番環境ではMySQLやPostgreSQLなどの専用データベースの使用を推奨しており、dirtyDBドライバーはテストまたは開発専用であると指摘しています。 - 認証に関しては、平文パスワードではなくハッシュを保存することを推奨し、ep_hash_auth プラグインを紹介しています。 - OpenID Connect認証用の推奨プラグインには、ep_openid_connect、ep_guest、ep_user_displayname、ep_stable_authorid があります。 - よりリッチな編集機能のための推奨プラグインセットには、ep_align、ep_comments_page、ep_embedded_hyperlinks2、ep_font_color、ep_headings2、ep_markdown、ep_webrtc が含まれます。 - スキンバリアントは、skinvariantsbuilder URLで探索できます。 開発とプロジェクトの状況: - bin/debugRun.sh によるデバッグと、依存関係の更新をスキップする高速起動スクリプト bin/fastRun.sh があります。 - リアルタイム動作を支えるEasysyncライブラリは、リポジトリ内のPDFで文書化されています。 - コントリビューター向けのガイドラインは CONTRIBUTING.md にあります。 - READMEには、Node.js、リアルタイムシステム、または機関向けコラボレーションツールの経験を持つメンテナーを積極的に募集していると記載されています。 - CIバッジは、コード品質(CodeQL)、バックエンドテスト、シミュレーション負荷、レート制限、Docker、フロントエンド/管理テストをカバーしています。 公表されているユーザーには、ウィキメディア財団、EUの公共部門機関、大学や学校、シビックテックや熟議民主主義プロジェクト、ニュースルーム、そして多くの自己ホストインスタンスが含まれます。ソフトウェアを試すための公開インスタンスも利用可能です。 サポートチャネルは、GitHub Issues、Discordサーバー、そして責任ある脆弱性開示のためのメール連絡先です。