おひとり様のタイムライン

おひとり様ActivityPubサーバーの最低限の構成

MastodonやMisskeyのようにコミュニティを作る、ほかの人たちに参加してもらって使ってもらう、となると、いろいろ考えなきゃいけないことが多くて、気軽にサーバーを立てるのはとても無理。
でも、「ひとりで使う」に限定するといろいろ割り切ることでハードルはいきなり下がる。

以下はウチのおひとり様Activityサーバーの構成

【おひとり様のホームタイムライン】

リクエストで飛んでくる、ひと様の投稿が流れるタイムライン。

ひと様のデータは持たない・抱えこまない

わたしのショボいスキルと還暦すぎたポンコツの体力では、なにかあっても対応できない。リスク回避が最優先。

ホームタイムラインは「流れたらそれまで」

ひと様のデータを持たないということからも、ホームタイムラインに表示する投稿は最大20個(最長1日)限定。それ以上はところてん式に古いものから削除。

アクセスした時に見る20個だけで、遡ることはできない。

ということで、たまたまアクセスして見えるものがすべて

  • 検索はできない・しない
  • エラーによるデータの取り零しなど気にしない

何か不都合・不具合があったとしても被害にあうのは自分ひとりだけで「ほかの誰かに迷惑をかけることがない」ことを考える。

このタイムラインを閲覧するにはログインする必要がある

【おひとり様のローカルタイムライン】

自分の投稿が並ぶタイムライン。

ActivityリクエストをFediverseに放流するために、データベースに登録・保存している。
Activityには一意になるIDが必要(SHOULD)なので、データベースでIDを作るのが簡単。過去投稿や個々の投稿へのアクセスがあったら、IDを参照して投稿を返すようにした。

自分の投稿については考慮すべきことはこれぐらい。エラーなどで送信できなくても問題にしない(再配送などはしない)

この程度の構成でもタイムラインは楽しいもので、むしろ、投稿を深追いできないぐらいでちょうどいいかもしれません。

【おひとり様ActivityPubサーバー ところてんのおもて側】

入力エリア
follow: フォロー申請したいアカウント
url: ホームタイムラインにはないNoteをこのサーバーで表示(likeやannounceをするため)

(これを表示するにはログインが必要)

フォローしたひとの投稿が流れるホームタイムライン
投稿日時
アカウントアイコン
投稿本文
投稿URL
アカウント表示名
announce / like ボタン

(閲覧するにはログインが必要)

わたしの投稿だけ、壁打ちローカルタイムライン
投稿日時
投稿本文
edit ボタン

ログイン状態ですべて表示。
ログインしていない場合は、publicの投稿だけ表示(Mentionなどは *表示しない* )

いただいたリアクションを表示するエリア
likeやannounce、Mentionをしていただたら、ここに期間限定で表示
ホームタイムラインは20個だけしか保存・表示しないので、こちらから返事や反応が必要なものを見落さないように急遽後付け。

(閲覧するにはログインが必要)

[2024-10-30 02:41:09] v1.0.1

[2024-10-29 08:45:53] v1.0.0

Menu