コメント欄を Waline で付けた
このサイトの一番下にずっと「コメント」だけ出ていて,全然使えなかったので,Waline を入れました.
なぜ Waline か
Giscus も楽そうだったんですが,GitHub のリポジトリを public にしないといけない.このブログのソースは非公開のままにしたいのでパスです.
Disqus みたいな外部任せもありましたが,コメントデータは自宅サーバに置きたかったので,小さく Waline だけ Docker で動かす形にしました.
だいたいこういう構成
- 記事はいつも通り Hexo → 静的 HTML
- コメント API だけ別マシン(Proxmox の LXC)の Docker
- 外からは Cloudflare Tunnel で
comment.guetan.dev→ コンテナ
guetan.dev と comment.guetan.dev は別ホスト名ですが,記事ページに Waline の JS を埋め込んで,裏で API を呼ぶだけです.
ハマったところ(備忘)
SQLite が空waline.sqlite が 0 バイトのままだと 403 とか 500 とかになる.公式の DB ファイルを最初に置く必要がある.
管理画面の Failed to fetch.env の SERVER_URL を固定していたせいで,IP で開いたときに API 先がズレた.未設定にして,アクセスしてきた Host に合わせる方がよかった.
hexo s で JS が読めない
unpkg の module だと CORS と DNS でコケた.jsDelivr に変えたらローカルでもコメント欄が出るようになった.
設定メモ
サーバでは ~/docker/waline/ に compose を置いて,restart: unless-stopped で再起動後も勝手に上がるようにしてある.
Hexo 側は themes/light/_config.yml で comment_provider: waline,login: disable(ニックネームだけで書ける).
細かい手順はリポジトリの deploy/waline/README.md に残してあるので,自分用のメモ代わり.
これで記事の下にちゃんと入力欄が出るようになった.
コメントもらえたらうれしいです(テストでも).














































































