Rails 8で作るActivityPub リレーサーバ
by
S.H.
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Rails 8 で作る ActivityPub リレーサーバ S.H. RubyWorld Conference 2024 Sponser LT 2024-12-05
Slide 2
Slide 2 text
自己紹介 S.H. ESM, Inc 構文解析器研究部員 Mastodonの管理人(通称:鯖缶)
Slide 3
Slide 3 text
今日話すこと ActivityPub リレーについて 作った背景 作ったもの
Slide 4
Slide 4 text
ActivityPubリレー
Slide 5
Slide 5 text
ActivityPub リレーの仕組み リレーサーバに参加しているサーバの公開投稿を 受け取る 参加しているサーバ全てに受け取った投稿を転送 する
Slide 6
Slide 6 text
メリットとデメリット Fediverseのサーバ同士が連合しやすくなる 配送される投稿が増えるので参加サーバへの負 荷も増える リレーサーバ自体の負荷もそれなりにかかる
Slide 7
Slide 7 text
作った背景
Slide 8
Slide 8 text
現状のリレーサーバ サーバの数に対してリレーサーバの数が多くな いため、特定のリレーサーバに集中する リレーサーバ自体と参加したサーバへの負荷が かかりやすい RedisやDBなどを使うため建てるのに気合が いる
Slide 9
Slide 9 text
個人的な思い 小さい規模のリレーサーバを作れれば負荷も分 散できそう もっとリレーサーバを建てやすくするとよさそう
Slide 10
Slide 10 text
Rails8の存在 Kamal2でデプロイが簡単になる SolidQueueを使うのでRedisがいらない SQLite3を本番で使えるので楽そう Rails8で作るといいのでは?
Slide 11
Slide 11 text
作ったもの
Slide 12
Slide 12 text
ActivityPub Relay
Slide 13
Slide 13 text
機能 Mastodon/Misskeyのリレーに対応 Pleroma/Akkomaのリレーにも対応 購読サーバの管理画面 ジョブの管理画面
Slide 14
Slide 14 text
作ってみて Kamal2でのデプロイが非常に簡単 Thrusterが証明書の自動更新などがされるの で嬉しい SolidQueueを使っているのでRedisが不要で 良い SQLite3を使っているので別途DBを建てなく てよい