ntfyをDockerでセルフホストしてプッシュ通知基盤を作る
ntfyはHTTP POSTだけでスマホへプッシュ通知を送れる軽量サーバー。Dockerでの立ち上げと認証設定、スクリプトからの通知送信までをまとめる。
Dockerでの起動
公式イメージをdocker runで起動し、設定はserver.ymlか環境変数で渡す。base-urlを正しく設定しないとアプリ側の購読が失敗する。
認証とアクセス制御
デフォルトは誰でもpublishできるため、auth-default-access: deny-allにしてユーザーとACLを定義する。トピック単位で読み書き権限を分けられる。
スクリプトからの送信
curl -d "本文" https://ntfy.example.com/topicで送信できる。優先度やタグはヘッダーで指定し、長時間処理の完了通知に組み込みやすい。