オープンソースのCMS + 会員コミュニティ
記事を読んだ人が、そのまま話しはじめる場所。
waltz(ワルツ)は、オウンドメディアの記事と会員コミュニティを1つにまとめたCMSです。PHPもプラグインも使わず、データはファイル1つ。MITライセンスで、誰でも無料で使えます。
デモは登録なしで見られます。ログイン用のアカウントはデモのログイン画面にあります。

読む、話す、集まる。3拍子で、読者が仲間になる。
記事は読まれたら終わり、になりがちです。waltz では、記事とコミュニティとイベントが同じサイトの中でつながっていて、読者が次の一歩を踏み出しやすくなっています。
- 1読む
記事を書いて、検索にも生成AIにも届ける
記事はMarkdownで書いて、プレビューして公開します。カテゴリ、タグ、予約公開、画像のアップロードに対応。サイトマップ、RSS、llms.txt、構造化データは自動で出力されます。
- 2話す
記事の下で、そのまま会話が始まる
記事ページには「この記事について話す」欄があります。読者は感想をコミュニティに共有し、同じ仕事をしている人とつながります。肩書き付きのタイムライン、テーマ別のコミュニティ、いいね・コメント・通知まで標準で入っています。
- 3集まる
オンラインの会話を、イベントへつなぐ
コミュニティごとにイベントを告知できます。日時、場所、申込先を載せると、近日のイベントがタイムラインの横に並びます。


画面は、架空のバックオフィス向けメディア「バックオフィス・ラボ」のデモです。
WordPressの代わりではなく、軽いもうひとつの選択肢として。
WordPressは、豊富なテーマとプラグインで、ほとんどのことが実現できます。waltz はその逆で、記事とコミュニティに必要な機能だけを最初から持ち、部品を足さずに使う設計です。作りたいサイトに合わせて選んでください。
| 項目 | waltz | 一般的なWordPressの構成 |
|---|---|---|
| 動かす環境 | Node.js | PHP + MySQL |
| コミュニティ機能 | 最初から入っている | プラグインで追加する |
| 機能の足し方 | ソースコードを直接改造する | テーマとプラグインを組み合わせる |
| データの置き場 | SQLiteのファイル1つと画像フォルダ | データベースとファイル |
| 向いているサイト | 記事とコミュニティを小さく始めたい | 多くの機能を組み合わせて作りたい |
攻撃の入口を、最初から少なくする。
脆弱性をゼロにすると約束できるソフトウェアはありません。waltz が使っている Next.js でも、修正版は定期的に出ています。waltz にできるのは、入口を少なくしておくことと、部品の更新を追いかけ、見つかった問題を直して公開し続けることです。
セキュリティポリシーを読む- 管理画面から、HTMLやスクリプトを貼り込めません
- 計測タグは、測定IDと読み込みURLの登録だけ。管理者のアカウントが乗っ取られても、全訪問者に不正なスクリプトを配る経路を持ちません。
- 権限の確認は、サーバー側の処理ごとに行います
- 画面を隠すだけの制御に頼りません。公開前のレビューで見つかった4件の欠陥は、修正してから公開しました。
- パスワードとログインを守ります
- パスワードは scrypt でハッシュ化して保存します。ログインと新規登録には、試行回数の上限があります。
- 部品を後から足さない設計です
- プラグインの仕組みを持たないので、使っていない部品が増えて、攻撃の入口が広がることを防げます。
3つのコマンドで、サンプル入りのサイトが立ち上がる。
外部サービスの契約は要りません。データベースもファイル1つなので、バックアップはフォルダをコピーするだけです。本番ではDockerイメージで動かせます。
READMEを読む1ソースを取得して、部品を入れる
git clone https://github.com/opus-llc/waltz.git cd waltz && npm install2データベースを作り、サンプルを入れる
npm run setup3起動する
npm run dev- ブラウザで http://localhost:3000 を開くと、サンプルのメディアとコミュニティが表示されます。
困ったときは、作った会社に相談できます。
waltz は、オウンドマーケティングの支援を手がける opus合同会社が開発しています。ソースコードは無料のまま、手が足りないところだけ opus のサービスを使えます。
よくある質問
本当に無料で使えますか?
MITライセンスで公開しているので、商用利用、改変、再配布を含めて無料です。配布するときは、著作権表示とライセンス文を残してください。
どこで動かせますか?
Node.js 22以上が動くサーバーか、Dockerが使える環境で動きます。データベースはSQLiteなので、サーバー1台で運用する小規模から中規模のサイトに向いています。
WordPressから移行できますか?
現時点では、WordPressから自動で移す機能はありません。記事はMarkdownファイルの取り込みに対応しています。移行を手伝ってほしい場合は、opusにご相談ください。
脆弱性が見つかったらどうなりますか?
GitHubの非公開の報告窓口で受け付け、修正版を公開します。手順は SECURITY.md に書いています。どのソフトウェアにも脆弱性は見つかり得ます。waltz も例外ではないので、更新を続けられる仕組みを用意しています。
デモで入力した内容はどうなりますか?
デモは誰でも触れる環境です。内容は毎朝4時(日本時間)に初期状態へ戻ります。実在の個人情報は入力しないでください。
