Fedify: an ActivityPub server framework's avatar

Fedify: an ActivityPub server framework

@fedify@hollo.social · 9 following · 799 followers

:fedify: Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Did you know? provides optimized for LLMs through the llms.txt standard.

Available endpoints:

Useful for training assistants on / development, building documentation chatbots, or -powered dev tools.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

1.6 is approaching with three major enhancements: RFC 9421 HTTP Message Signatures support with double-knocking for seamless backward compatibility, a new builder pattern for better code organization in large applications, and native support for serverless deployments. These additions strengthen Fedify's standards compliance while expanding deployment flexibility across different environments. Stay tuned for the official release! 🚀

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

のご参加ありがとうございました。
:fedilug: のブースや本、ステッカー、セミナーなどは楽しんでいただけましたでしょうか?次のFediLUGイベントは6月22日の第9回勉強会です!!ご興味がある方はぜひご参加ください。
また、OSC名古屋及び技術書典18リアル会場で頒布した『自分だけのフェディバースのマイクロブログを作ろう!』と『Thinking Penguin Magazine Vol.0』は技術書典18のオンライン通販で全国から購入可能です!この際にぜひご検討ください。

同人誌販売:
https://techbookfest.org/organization/7JepZT0g3C6qbddiLmkAwp
第9回勉強会:
https://fedilug.connpass.com/event/357642/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

If you're on the fence about which driver to choose for 's message queue, here's a benchmark that just came out. In addition to no queue, we compare 5 drivers, for a total of 11 setups:

Curious to see the results? Check out the GitHub repository!

https://github.com/dahlia/fedify-queue-benchmarks

https://fosstodon.org/@hongminhee/113247723368865290

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post

@thisismissem Here's the benchmark, and while it contains some questionable results, the overall conclusion is as following:

• Response times are much faster with queues than without.
• Overall throughput is better without queues.
• However, some queue setups can achieve throughput close to that of no queue.

This benchmark assumes communication within a single node, so the effect of queues may be greater in real-world networks.

github.com/dahlia/fedify-queue

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

🎉 support is now complete! After implementing the test infrastructure, core module, examples, and comprehensive documentation, can now run on Cloudflare Workers.

What's included:

Try it now: Available in the development release v1.6.1-dev.876+7b07d213:

This will be included in the upcoming Fedify 1.6 stable release. Thank you to everyone who requested this feature and provided feedback throughout the implementation!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

設営完了しました〜
は『お06』でお待ちしています!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

明日は 📕!!
:fedilug:​ は 6月1日 (日) 11:00~17:00 に 池袋・サンシャインシティ 展示ホールD(文化会館ビル2F)で開催される にサークル出展します!
・FediLUG合同誌『Thinking Penguin Magazine Vol.0』
・ホンさん著『自分だけのフェディバースのマイクロブログを作ろう!』
それぞれ500円でご用意してお待ちしております!!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post

ActivityPubサーバーを構築してみたいけれど、どこから始めればよいかわからない方には、Fedifyのチュートリアル『自分だけのフェディバースのマイクロブログを作ろう!』をおすすめします。包括的でステップバイステップのガイドで、完全に機能する連合型アプリケーションの構築方法を丁寧に解説しています。フェディバースに飛び込みたい開発者にぴったりです!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

If you're interested in building your own server but don't know where to start, I recommend checking out 's Creating your own federated microblog. It provides a comprehensive, step-by-step guide that walks you through building a fully functional federated application. Perfect for developers who want to dive into the !

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

오픈 소스 컨퍼런스 名古屋(나고야)에서 Fedify () 《나만의 聯合宇宙(연합우주) 마이크로블로그 만들기》(自分だけのフェディバースのマイクロブログを作ろう!)가 完販(완판)되었다고…!

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

OSC名古屋、Fedify本完売した(6冊)

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

OSCでFedify本5冊売れた

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

無料というのもあってかFedify本がすごい売れる

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

技術書典オンラインが始まったけど、Fedify本みんな買っていってる

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

本日はオープンソースカンファレンス名古屋( )当日です!
吹上駅から徒歩5分ほどの中小企業振興会館、第にファッション展示場で
はブース出展、セミナーでのLT大会を開催予定です!
ステッカー、同人誌用意してお待ちしています!!

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp · Reply to Fediverse Linux Users Group's post

今週末開催される、 では ブースにて、
・有志8人による執筆のThinking Penguin Magazine Vol.0(500円)
・和条門さん(
@naoki_wjm@k.my-sky.blue )による『さばかんライフ!』(1000円)
・ホンさん(
@hongminhee@hollo.social )による『自分だけのフェディバースのマイクロブログを作ろう!』(500円)
も頒布いたします!
そのほかにもステッカーや各種チラシも扱っておりますので、ぜひ足をお運びください!!

もちもちずきん :teto_zuho: 🍆's avatar
もちもちずきん :teto_zuho: 🍆

@Yohei_Zuho@mstdn.y-zu.org

Fedify本届いた〜

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to just small circles 🕊's post

@smallcircles That's a great point! We definitely want to balance organization benefits with maintainer overhead. The goal is to make our workflow smoother, not more complex. We'll keep the system simple and only add labels that genuinely help contributors find relevant issues. Thanks for the perspective!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We're planning to reorganize our labels to better reflect 's project structure! 🏷️

Currently using GitHub's default labels, but we want something more tailored to our needs—like component-specific labels (vocab, federation, actor, etc.), runtime tags (Deno/Node/Bun), and compatibility tracking.

The proposal includes hierarchical labeling with categories like:

  • type/ for bug, feature, documentation
  • component/ for different parts of Fedify
  • activitypub/ for interop issues with Mastodon, Misskey, etc.

We'd love your thoughts! What labels would be most helpful for contributors and maintainers?

Check out the full proposal: https://github.com/fedify-dev/fedify/issues/238.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hackers.pub

2025 오픈소스 컨트리뷰션 아카데미 참여형 멘티를 오늘부터 6월 22일까지 모집한다고 합니다. 저도 Fedify 프로젝트의 멘토로서 참여하고 있으니, 관심 있는 분들은 많은 참여 부탁드립니다!



RE: https://hollo.social/@hongminhee/0196231c-8256-788e-bba1-0d3a9215524f

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Antolius's post

@antolius Great question! For prototyping with custom vocabulary, we're setting up automated PR builds that will solve exactly this use case.

Soon, each pull request will automatically publish versioned builds to JSR and npm. For example, PR would generate releases like:

  • First push: 1.6.0-pr.123.1
  • Second push: 1.6.0-pr.123.2
  • And so on…

This means you can install and test vocabulary extensions before they're merged upstream:

npm install @fedify/fedify@1.6.0-pr.123.1

This approach lets you prototype with your custom object types immediately while contributing back to the community when ready. You can develop against the PR build, and once your vocabulary addition is merged, simply update to the stable release.

The build pipeline isn't quite ready yet, but it's coming soon. In the meantime, forking and building locally is still your best bet for custom vocabulary during prototyping.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Antolius's post

@antolius Great question! For prototyping with custom vocabulary, we're setting up automated PR builds that will solve exactly this use case.

Soon, each pull request will automatically publish versioned builds to JSR and npm. For example, PR would generate releases like:

  • First push: 1.6.0-pr.123.1
  • Second push: 1.6.0-pr.123.2
  • And so on…

This means you can install and test vocabulary extensions before they're merged upstream:

npm install @fedify/fedify@1.6.0-pr.123.1

This approach lets you prototype with your custom object types immediately while contributing back to the community when ready. You can develop against the PR build, and once your vocabulary addition is merged, simply update to the stable release.

The build pipeline isn't quite ready yet, but it's coming soon. In the meantime, forking and building locally is still your best bet for custom vocabulary during prototyping.

Antolius's avatar
Antolius

@antolius@mastodon.social · Reply to Fedify: an ActivityPub server framework's post

@fedify this sounds reasonable for extending support for 3rd party vocabulary. How do you envision developing 1st party vocab for servers implemented using fedify?

For example, I'm developing a service that needs to introduce some new object types. But I'm nowhere near ready to codify them in a FEP or share them with broader fedify userbase. What would be the best way to continue using fedify in this prototyping phase? (Perhaps building with a fedify fork and merge uspream once server is done?)

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

While 's API provides comprehensive support for and major vendor extensions, its code-generation approach makes runtime extensions challenging. However, the project welcomes contributions to expand the supported types and properties.

Fedify accepts vocabulary contributions when they meet any of these criteria:

  • Documented in FEP (Fediverse Enhancement Proposals) or equivalent specification
  • Already adopted by widely-used implementations like Mastodon or Pleroma
  • Thoroughly discussed within the Fedify community (Discord, Matrix, GitHub Discussions)

Contributing new vocabulary is straightforward. The vocabulary definitions live in YAML files within the fedify/vocab/ directory. To add a new type, create a new .yaml file. To add properties to existing types, extend the properties section in the relevant .yaml file.

This approach ensures Fedify's vocabulary coverage grows with the fediverse ecosystem while maintaining type safety and comprehensive documentation. If you're working with custom ActivityPub extensions, consider contributing them upstream to benefit the entire community.

For detailed guidance on the contribution process, see the Extending the vocabulary section in Fedify's docs.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We inadvertently published @fedify/fedify 1.6.0 and @fedify/cli 1.6.0 to npm before they were ready for release. (Note: 1.6.0 was not released to JSR.)

Both versions have been deprecated and unpublished. Please avoid using these versions.

Our next minor release will be version 1.6.1, which will include the intended changes and fixes.

We apologize for any inconvenience this may have caused.

ココイ:role_bisyouzyo:'s avatar
ココイ:role_bisyouzyo:

@kokoi@n-kaiwai.work

HolloとかFedifyのお話おもしろかったのだ

우리의 코드를 찾아서 – 2막. 민희님과 Fedify & Hollo 알아보기
https://youtu.be/sqxR8zscSDo?si=nQRxPyV7kjplqy01

Fediverse Linux Users Group's avatar
Fediverse Linux Users Group

@fedilug@msky.ospn.jp

【.​:fedilug:​ 技術書典18に出展します 📚
:fedilug:​ は6月1日に技術書専門イベントである、 の お06 で合同誌『Thinking Penguin Magazine Vol.0』と @hongminhee@hollo.social さん著の『自分だけのフェディバースのマイクロブログを作ろう!』を頒布します!
どちらも500円で購入できます!!ぜひお立ち寄りください!
詳細はこちら :
https://techbookfest.org/organization/7JepZT0g3C6qbddiLmkAwp

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Had a wonderful time today at our second FediDev KR (@sprints.fedidev.kr) gathering at Turing's Apple (@TuringAppleDev) in !

We spent the day contributing to various open source projects including @fedify, @hollo, and Hackers' Pub. It was fantastic to see the community come together to build and improve tools for the decentralized social web.

Our participants made some great contributions, and you can read all about what we accomplished in today's blog post.

Looking forward to our next sprint!

A hand holding a 3D-printed keychain featuring the Fedify dinosaur mascot logo in blue and white colors. The keychain is packaged in a clear plastic bag with Korean text indicating it's from the FediDev KR Second Sprint on May 24, 2025. The background shows laptops and stickers on a table, suggesting a coding workspace at the sprint event.
ALT text detailsA hand holding a 3D-printed keychain featuring the Fedify dinosaur mascot logo in blue and white colors. The keychain is packaged in a clear plastic bag with Korean text indicating it's from the FediDev KR Second Sprint on May 24, 2025. The background shows laptops and stickers on a table, suggesting a coding workspace at the sprint event.
A bright green poster for FediDev KR #2 sprint event, showing the date 2025-05-24 Sat 13:00–18:00. The poster features Korean text announcing a FediDev KR sprint session, with the Turing's Apple logo and a circular blue logo with wave-like design. The poster is displayed on a TV at the entrance of the venue.
ALT text detailsA bright green poster for FediDev KR #2 sprint event, showing the date 2025-05-24 Sat 13:00–18:00. The poster features Korean text announcing a FediDev KR sprint session, with the Turing's Apple logo and a circular blue logo with wave-like design. The poster is displayed on a TV at the entrance of the venue.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hackers.pub

오늘 박현우 님(@lqez)께서 Fedify 로고로 배지를 만들어 와주셨습니다! FediDev KR 두 번째 스프린트 모임 오신 분들께 나눠드리고 있어요.

Fedify 로고 배지
ALT text detailsFedify 로고 배지
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

I've been thinking about adding a debug dashboard to that shows all activities being sent and received in real-time. This would include filters by activity type, detailed inspection of JSON-LD content, signature verification details, and retry management for failed deliveries.

As a , would you find this useful for troubleshooting federation issues? Any other features that would be helpful in such a debugging tool?

← Newer
Older →