Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Rails 8で作るActivityPub リレーサーバ
Search
S.H.
December 05, 2024
0
77
Rails 8で作るActivityPub リレーサーバ
RubyWorld Conference 2024 Sponser LT
S.H.
December 05, 2024
Tweet
Share
More Decks by S.H.
See All by S.H.
Developing an ActivityPub Relay with Rails 8
gamelinks007
0
16
Mastodon on Ruby master
gamelinks007
0
61
Trying to Make Ruby's Parser Available as a Gem
gamelinks007
1
230
ユーザーから見たLrama
gamelinks007
0
170
Contributing to the Ruby Parser
gamelinks007
2
860
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Embracing the Ebb and Flow
colly
84
4.5k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Code Review Best Practice
trishagee
64
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Speed Design
sergeychernyshev
25
650
Building Applications with DynamoDB
mza
91
6.1k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
780
Transcript
Rails 8 で作る ActivityPub リレーサーバ S.H. RubyWorld Conference 2024 Sponser
LT 2024-12-05
自己紹介 S.H. ESM, Inc 構文解析器研究部員 Mastodonの管理人(通称:鯖缶)
今日話すこと ActivityPub リレーについて 作った背景 作ったもの
ActivityPubリレー
ActivityPub リレーの仕組み リレーサーバに参加しているサーバの公開投稿を 受け取る 参加しているサーバ全てに受け取った投稿を転送 する
メリットとデメリット Fediverseのサーバ同士が連合しやすくなる 配送される投稿が増えるので参加サーバへの負 荷も増える リレーサーバ自体の負荷もそれなりにかかる
作った背景
現状のリレーサーバ サーバの数に対してリレーサーバの数が多くな いため、特定のリレーサーバに集中する リレーサーバ自体と参加したサーバへの負荷が かかりやすい RedisやDBなどを使うため建てるのに気合が いる
個人的な思い 小さい規模のリレーサーバを作れれば負荷も分 散できそう もっとリレーサーバを建てやすくするとよさそう
Rails8の存在 Kamal2でデプロイが簡単になる SolidQueueを使うのでRedisがいらない SQLite3を本番で使えるので楽そう Rails8で作るといいのでは?
作ったもの
ActivityPub Relay
機能 Mastodon/Misskeyのリレーに対応 Pleroma/Akkomaのリレーにも対応 購読サーバの管理画面 ジョブの管理画面
作ってみて Kamal2でのデプロイが非常に簡単 Thrusterが証明書の自動更新などがされるの で嬉しい SolidQueueを使っているのでRedisが不要で 良い SQLite3を使っているので別途DBを建てなく てよい