littleFedi - Official Account

@littlefedi_official Created:

Official account for littleFedi.

A lightweight, efficient and Mastodon-compatible home for the Fediverse.
Built to scale from tiny machines to larger communities, while keeping things simple, open and under your control.

Your server. Your community. Your Fediverse.

https://littlefedi.org

Visit blog
RSS
Pinned posts

The Little Computer People Present littleFedi: Our First Public Release

"Hi,

We would like to show you a small project we've built and used over the last few years.

It's a Mastodon-like platform that federates using its own protocol and can work even without HTTPS or public Internet access. Many of us have restrictions on our communications, and this project has helped us stay in touch and have our own social network. We'd love to show it to you and hear what you think, because your OwnYourData message really resonates with us."

The Story

And this email sat ignored for weeks.

It came from an anonymous, generic mailbox, with an even more anonymous and suspicious subject. The spam filter had classified it as, well, spam, for other reasons too. Only when I checked the spam folder again, weeks later, did I move it to the Inbox. "Why not?", I thought. And I asked to see what they had built.

There was no way for me to connect to one of their instances. They trusted me and sent me the code which, although fragmented and loosely put together, compiled and ran natively on FreeBSD. But before that: "We only ask you to never say anything, at least until we're ready. We don't want to be visible and, inevitably, judged or attacked. We tried something else before and backed away. Our software isn't high quality and we know it. But it works, for us, and we have fun building it. When it works we're happy, shut away in our rooms, often in the middle of the night. Sometimes, joking, we say we're like little people living inside our computers and that, thanks to this software, we can talk to each other."

At that moment I smiled and thought of a 1985 video game, from my childhood, that was quite revolutionary at the time: "You're like Little Computer People". They liked it. And that's how the group got its name: the Little Computer People.

My first test went well. I was immediately struck by the lightweight interface. "We have old computers, slow hardware. It has to be light. It just has to!". Abundance led to waste. And yet I preferred that light interface, even if incomplete, to many of today's heavy social interfaces, commercial or not. But the code had gaps, pieces held together with duct tape, unfinished parts. They knew it, they had told me, and they were ashamed of it. "You should be proud of what you're doing. It's beautiful", I wrote to them. "We'll never release it."

The battle, if we can call it a battle, was a long one. They weren't far from making it ActivityPub compatible, and there was already a basic draft implementation (tested only with snac). "We don't want to show it, we don't feel up to it. We don't want to step on the toes of others like snac or GoToSocial, who have done a far better job than we have". I tried to convince them, also because the implementation was moving forward and the results were really encouraging. But no, they didn't feel ready. Until, luckily, one of them made a proposal: "We could release it... but we don't want to be seen. We want to stay in our computers and enjoy our code. We don't want to read praise, criticism or comments. We just want to have fun. Would you like to be one of the Little Computer People too? The human who talks to humans while we keep having fun?". I felt honoured and accepted. Explaining, among other things, that Open Source is not a battle. We are not in an arena, where the existence of one solution means crushing another.

This software is not a slight against Mastodon or snac or GoToSocial, but one more choice. Nobody gains. Nobody loses. It's there. It exists. It's something beautiful, one more thing in the world. They agreed, leaving the license undecided and keeping the strictest confidentiality.

The software had no name. But after we came up with the group's name, we affectionately called it our "little social". After the first real, complete ActivityPub federation (with proper tests), the current name was chosen among the alternatives: littleFedi.

"You have more experience... what should we implement?". I thought about it, looked at what was still "in the oven" and what I'd really like to have. I made a list, detailed and very long. But the most important part, for me, was blogging.

Then something happened, and development had to stop. Some devs could no longer work on it. Others weren't able to touch what the others had built. There was only one person who could carry on, albeit slowly, but their computer had broken and they could only communicate by smartphone. They couldn't buy another computer. And yet, a few days later, they received one. Ready to go. With FreeBSD inside.

littleFedi risked stopping right there, with part of the team still against any public release, at least at that point. But sometimes things work themselves out just when you least expect it, and in a short time the "little" humans were back in their computers, having fun, unwinding, creating something beautiful. Until a hot day this summer, when I asked their permission to make my first littleFedi instance public, running on my Raspberry Pi Zero W. One of them was against it at first. Then changed their mind. And I did it, announcing it to the world: https://rpi0w.stefanomarinelli.it/@stefano/blog/2026/07/01/littlefedi-light-yet-complete/

They don't want to interact with the world, but I still decided to show them the comments - all positive. That evening, the private test instance started showing (without me knowing) balloons and streamers every time we logged in. It was a party. And that made my next task easier, leading to the first public instance: littleOne

When I announced it, a lot of friends chose to join the test, and thanks to them a huge number of issues were found and fixed. A huge thank you to them. I acted as a bridge between them and the team, fixing and implementing what I could myself. I'm not primarily a dev but a system administrator, and I prefer not to touch what I don't know. The enthusiasm of the Little Computer People, though, was obvious even without them saying it: bugs were fixed in minutes, hours at most. We merged test branches quickly, so the friends on littleOne could try them.

Towards a Release

The last two months saw a lot of development, but mostly focused on reviewing and cleaning up the code. With one single goal: a first public release. The chosen license, after some thought, is MIT. The point is to give it to the world. This software was born from people who want to communicate with other people, and that's what matters. It's a means, not an end. Because those who don't have freedom dream of freedom without restraints.

There is much more documentation than what we're releasing today, along with tests and internal material that still needs to be reviewed. Some parts describe the project as it was designed, not necessarily as it was later implemented. Others haven't been checked enough yet to be published as reliable documentation. So we chose to release now what's ready: all the code needed to run littleFedi and enough documentation to get started. Not everything has been tested and certified in all the combinations we'd like, but what we're releasing is mature enough to be tried and used.

As of today, littleFedi is available from the downloads page at https://littlefedi.org. There won't be versioned releases for now, just snapshots of the code, both as source and as prebuilt binaries. What matters today is putting the tool in people's hands. Later, when things are ready enough, we'll probably move to good old git, on the BSD Cafe Forgejo. The sources already point there, but that project is currently private (and intentionally empty).

What Is littleFedi

So what exactly are we releasing today?

littleFedi starts from a very simple idea: owning your own social space shouldn't require complex infrastructure. In its basic form it's a single static binary, a configuration file, SQLite and your media on the filesystem. You copy it to a machine and start it. The minimum "certified" target today is my Raspberry Pi Zero W running NetBSD, powered over USB by my switch. It's designed for small, single-user instances, but also for larger ones, with the option to use S3 for media storage (the main space problem of single-user Mastodon instances) or PostgreSQL instead of the built-in SQLite. How large can an instance be, exactly? We don't know yet. The code is there, ready to be tested. We'll leave that for you to find out! You can also already migrate the storage (live), not the databases yet (but there's a partially implemented draft, so that will come too).

There are some rather unusual features, bringing together some of the nice ideas found in other implementations. It's written in Go, and Go allowed us to do something I care about a lot: FreeBSD, illumos, Linux, NetBSD and OpenBSD are not secondary ports of software designed only for Linux. Each one has its own operational documentation. It has a low power mode, lets you schedule a post or set, post by post, an expiration (propagated to other instances). It has a light and simple web interface, yet complete, with no frills, reasonably usable even without JavaScript. Care went into making the PWA pleasant and usable and, even with a few bugs left, it's in my opinion one of the best ways to use littleFedi. And, yes, if you don't want to use its web interface, littleFedi also speaks the Mastodon API: many existing clients can connect directly. It supports emoji reactions. It supports push notifications. Post visibility follows the usual Fediverse model, with two additional variants: Local and Local Unlisted. Because not every post we write needs to leave our instance. And, speaking of federation, it has a fairly clean approach: by default, it federates with everyone. But it also supports blocklists and allowlists. Yes, allowlists: you can choose a list of instances to federate with, and that's it. Only those. Activities to and from all the others will be silently dropped, to give you an experience tailored to your expectations. "Filter bubble?". If you want to call it that. I call it the freedom to decide who your instance talks to.

And there's no need to doom scroll for fear of missing something: timelines are chronological, yes. But there's an optional Catch-up for when you come back after a few hours or days. It lives on a separate page and never decides what shows up in your timeline. If it shows you something, it also tells you why.

But there are too many features to list here, it would become a boring list. The only way is... to try it. Worth mentioning, in my opinion, for how peculiar they are, are two main features: littleMesh and Blog.

littleMesh, Blog and OwnYourData

The first, littleMesh, is an alternative transport mode for federation. Remember the first email, when they talked about their own federation able to work even without public Internet? That idea didn't go away. It evolved into littleMesh. Two littleFedi instances can communicate even behind NAT or CGNAT, with no public address, DNS or inbound ports. All it takes is an external lighthouse. If you also want to talk to the traditional Fediverse, an HTTPS gateway comes into play. ActivityPub, though, stays ActivityPub.

The blog feature is something I had in mind for a long time, and many of the friends who tried it on littleOne loved it. I like how WordPress federates into the Fediverse, but it's a CMS that federates. I wanted something different: a Fediverse platform, with a decent editor, that generates a static site. Simple, BSSG style, but complete and "eternal". HTML files, no need for JavaScript or images. Text is text, and I've always wondered why extra computation should be needed to show…words. When I saw the first draft, I fell in love with it. And I know those sites will still be readable in 10, 20, 30 years. Even without littleFedi. Because social networks are, by nature, ephemeral, but our ideas and thoughts sometimes deserve to stay. And above all, you're not publishing the same thing twice. The post is the same one. It federates normally and, if you choose it as a blog post, littleFedi also generates a static version of it. There's no CMS to keep in sync with the social network.

But littleFedi doesn't want to cage you or hold you back. It supports account migration (to and from other instances), and it also lets you export a full archive with all your content, which can then be imported into another littleFedi instance. Sure, in that case domain and handle will change, but the content will stay, just at a different address. OwnYourData: it doesn't matter which drawer it's in, as long as it's your drawer. And, just like Mastodon, you can self destruct your instance: take it off the Fediverse, politely saying goodbye to the other instances and asking them to remove our keys and content from their databases. Because the Little Computer People don't want to make noise or bother anyone. They just want to communicate, and leave with a smile when it's time.

Ready?

In the last few weeks some friends have taken a look at the code and confirmed what we already knew. It may not be textbook code, but we're releasing it. There are well-engineered parts, others much less so, some to be reworked, many to be analysed, but it's a step. If we aimed for perfection we would never release, and promises are promises.

I'm ready. The Little Computer People are ready. And the code is there, for anyone who wants to try this new communication project. The roadmap is already full of nice things to do, and more will be added. We're not in a hurry, it's not a competition. We want to do things properly.

For your first instance, all you need is a computer and a reverse proxy. Download the source and build it, or grab the prebuilt binary from the downloads page:

./littlefedi init
./littlefedi --config littlefedi.toml

And you're ready to federate with the world.

Happy communicating, and use it well. We're going back into our computers.

Stefano - @stefano@bsd.cafe

#littleFedi #littleOne #Fediverse #OwnYourData

❤️ 5 🥳 3 🎉 2 🥰 1 :party_blob@mementomori.social: 1 ❤ 2 💙 1

Hello from littleFedi 👋

This is the official account for littleFedi.

littleFedi is a lightweight, efficient and Mastodon-compatible platform for the Fediverse.

The idea behind it is simple: software should adapt to the machine and the community, not the other way around.

littleFedi can run on modest hardware, but it is not designed only for small machines. The same approach is meant to scale with you, from a tiny personal instance to a larger community.

Our priorities are:

  • Efficiency, without unnecessary resource usage
  • Simplicity, both for users and administrators
  • Interoperability, with the wider Fediverse
  • Accessibility, including a usable no-JavaScript baseline
  • Control, because your instance should remain yours
  • No AI features, no magic black boxes, just predictable software and transparent algorithms

The project is still evolving, and we are deliberately taking the time to test federation, scalability and the rough edges before calling it ready.

This account will be used for releases, development updates, technical notes, demos and everything related to littleFedi.

🌐 https://littlefedi.org

🧪 Demo: https://littleone.littlefedi.social

Small footprint when you need it. Room to grow when you need that too.

Welcome to littleFedi.

#littleFedi

👀 2 :obkcn_aww@ms.obak-key.com: 2 ❤️ 3 :tiken@mi.mieux.cc: 1 ❤ 2 :blobcat_is_always_watching_you@misskey.blue: 1 :4d6b_kininaru_news@misskey.flowers: 1 :blobcat_nozokikomi@misskey.gamelore.fun: 1 :otoge_hantei_great@seiran-beta.org: 2 🆒 1 👍 1 🤔 1 :sinzin@mivatter.com: 1 🥇 1

A new build of littleFedi (2026.10.13) is out!

We've made several changes based on reports from our friends on this instance, feedback from those who have started self-hosting, and code reviews by the Little Computer People.

Here's a non-exhaustive changelog:

  • Alt text changed while editing a post from a Mastodon client (Mastodon web,
    Phanpy, Elk, Ivory, Tusky and others) was silently dropped. It is now saved
    and sent to other servers with the edit.
  • Alt text of images already attached to a post can now be edited from the web
    composer.
  • When a remote author adds or changes alt text by editing a post, the change
    now shows up here too. Before, the post kept its old description, and stayed
    hidden for anyone filtering out media without alt text.
  • PUT /api/v1/media/:id can now clear a description, and refuses media that
    is already attached to a post, as Mastodon does. Use the status edit instead.
  • Alt text is limited to 1500 characters on the server too, not only in the
    browser. Longer remote descriptions are cut at the same length. The limit is
    reported as description_limit in /api/v2/instance.
  • Media without alt text now report description as null in the API, so
    clients no longer show an empty ALT badge.
  • New Favourites page in the web interface, in the main menu, listing the
    posts you liked, most recent first.
  • Paging through /api/v1/favourites skipped or repeated posts after the
    first page. It now continues from the last post shown, like bookmarks.
  • When the timeline tabs or the top menu do not fit on one line, they now
    show only their icons. Before, some themes cut the last items off or split
    them over two rows.
  • Keep the canonical instance actor URL public in secure and allowlist modes,
    fixing a key-fetch deadlock with other authorized-fetch servers.
  • With split domains, /api/v1/instance now reports the handle domain as uri,
    and actors carry a webfinger property with their canonical handle.
  • Hashtags can now be followed from the search in Settings > Followed hashtags,
    even before any post uses them. Hashtag pages with non-ASCII names, such as
    #caffè, now open and follow correctly.
  • New [web] redirect_guests_to_about sends signed-out visitors from / to
    /about, and [web] public_blog_directory = false puts /blogs and its
    sitemap index behind the login.
  • public_local_timeline = false now also hides the links to the local
    timeline and asks for login on /public/local and when scrolling, not only
    on /.
  • Signed-out visitors could load the federated and bubble timelines through
    the scrolling endpoint. They now get the login page.
  • Moved profiles now show the destination and replace Follow with a link to
    the new account. Old posts remain accessible, and cached account data is
    refreshed as soon as the move is saved.
  • Move notifications now show and link to the destination, while the account
    name still opens the original profile. Moves by different users stay in
    separate notification rows when grouping is enabled.
  • Cached timelines now pick up new posts when blog publishing is enabled,
    without waiting for the page cache to expire. Incoming boosts also update
    open timelines through streaming.
  • Profile bios can now contain up to 5,000 characters in the web editor,
    up from 500.
  • The notifications page now has a Mark all as read button.
    Clear all still deletes them.
  • Follows imported from CSV are now saved before the upload is confirmed and
    resume after a restart. Settings and the API show progress, existing follows
    and failed lookups. Follow requests and their outgoing deliveries are saved
    together, and only one import can run per account. This uses the existing
    database schema.
  • CSV files over migration.max_follows_import are now rejected instead of
    being silently truncated. Set the limit to 0 to import the whole file.
  • CSV imports now leave an internal notification when they finish or stop
    after a terminal error, with a summary and a link to that import. Retries
    do not duplicate the notice; no email or push is sent.
  • Multiple Mastodon API Fixes
  • Replies in the web interface now keep the original post's content warning,
    both in the timeline and on the thread page.
  • Media can be added to a post by dragging files onto the composer or by
    pasting an image, as well as with the file picker. Files dropped elsewhere
    on the page go to the main composer instead of replacing the page.

Enjoy!

#littleFedi #Fediverse

👍 1 ❤️ 1

@chrism@social.nfbsd.dev The blog post title should be a header - so it should be something like:

# Blog post title

Text

Replying to @paul@paulwilde.uk

@paul@paulwilde.uk this will be checked! Thanks!

👍 1

Hi friends!

Now that littleFedi has been released and new instances are starting to appear, we can focus again on development and testing.

From now on, the littleFedi accounts on this instance will work like this:

The announcement - @littlefedi_official - account will be used for announcements: new releases and important communications. It will be a very low-traffic account, so I suggest following it with some attention. A new build, by the way, is not far away... 😉

There will also be an account dedicated to hints, where we will publish, notice the plural 😏, tips, tricks and useful little things about littleFedi. It does not exist yet, but I will create and announce it as soon as possible.

This account will remain more general, as it is now, although of course it will mainly talk about littleFedi.

This instance will remain our test instance. New builds and new features will be tested here before their public release.

For now, the littleFedi development model will also remain the same: the developers develop, fix, experiment and, when something is ready, a new version is released.

Open Source is freedom, not conformity.

littleFedi has its own history, its own way of growing and its own direction. We will keep following them, without trying to imitate a model just because it is the most common one in the Open Source world.

Open Source was born to let people do things differently.

littleFedi is free.

#littleFedi #littleOne #Fediverse

❤ 3

@talktech@fedi.talktech.info thank you! I'll create a dedicated Ko-Fi account. Meanwhile, the BSD Cafe one can be used: https://ko-fi.com/bsdcafe

Replying to @olav@schettler.net

@olav@schettler.net @gotosocial@superseriousbusiness.org they're different options. GoToSocial is more mature and concentrates on creating a proper backend. littleFedi also provides a web interface and a PWA. littleFedi also supports creating blog posts, etc.

@zlatko@social.zlatko.dev @rauschma@fosstodon.org they're just different. littleFedi has a frontend (web interface) and PWA, it allows to create a blog, etc.

Thank you, @dch@bsd.network

One of the peculiarities of littleFedi is that it was developed and tested first on the BSDs, then on illumos, and only later on Linux.

The first public instance, my own @stefano@rpi0w.stefanomarinelli.it account, runs on a Raspberry Pi Zero W with NetBSD.

I don’t think many social platforms have started out on NetBSD in recent years.

#NetBSD #FreeBSD #littleFedi #Fediverse

Stefano Marinelli @stefano@bsd.cafe

I want to publicly thank @dch
The FreeBSD port of littleFedi was already ready at release time, and it’s really well done.

One of the peculiarities of littleFedi is that it was developed and tested first on the BSDs, then on illumos, and only later on Linux.

The first public instance, my own @stefano@rpi0w.stefanomarinelli.it account, runs on a Raspberry Pi Zero W with NetBSD.

I don’t think many social platforms have started out on NetBSD in recent years.

#ThankYou #RunBSD #NetBSD #FreeBSD #OpenBSD #illumos #OwnYourData #Fediverse #littleFedi

Su-Shee
@sushee @ohai.social

what inspired me this week: @littlefedi_official

I LOVE smol, frugal and tiny computing.

The Little Computer People Present littleFedi: Our First Public Release

"Hi,

We would like to show you a small project we've built and used over the last few years.

It's a Mastodon-like platform that federates using its own protocol and can work even without HTTPS or public Internet access. Many of us have restrictions on our communications, and this project has helped us stay in touch and have our own social network. We'd love to show it to you and hear what you think, because your OwnYourData message really resonates with us."

The Story

And this email sat ignored for weeks.

It came from an anonymous, generic mailbox, with an even more anonymous and suspicious subject. The spam filter had classified it as, well, spam, for other reasons too. Only when I checked the spam folder again, weeks later, did I move it to the Inbox. "Why not?", I thought. And I asked to see what they had built.

There was no way for me to connect to one of their instances. They trusted me and sent me the code which, although fragmented and loosely put together, compiled and ran natively on FreeBSD. But before that: "We only ask you to never say anything, at least until we're ready. We don't want to be visible and, inevitably, judged or attacked. We tried something else before and backed away. Our software isn't high quality and we know it. But it works, for us, and we have fun building it. When it works we're happy, shut away in our rooms, often in the middle of the night. Sometimes, joking, we say we're like little people living inside our computers and that, thanks to this software, we can talk to each other."

At that moment I smiled and thought of a 1985 video game, from my childhood, that was quite revolutionary at the time: "You're like Little Computer People". They liked it. And that's how the group got its name: the Little Computer People.

My first test went well. I was immediately struck by the lightweight interface. "We have old computers, slow hardware. It has to be light. It just has to!". Abundance led to waste. And yet I preferred that light interface, even if incomplete, to many of today's heavy social interfaces, commercial or not. But the code had gaps, pieces held together with duct tape, unfinished parts. They knew it, they had told me, and they were ashamed of it. "You should be proud of what you're doing. It's beautiful", I wrote to them. "We'll never release it."

The battle, if we can call it a battle, was a long one. They weren't far from making it ActivityPub compatible, and there was already a basic draft implementation (tested only with snac). "We don't want to show it, we don't feel up to it. We don't want to step on the toes of others like snac or GoToSocial, who have done a far better job than we have". I tried to convince them, also because the implementation was moving forward and the results were really encouraging. But no, they didn't feel ready. Until, luckily, one of them made a proposal: "We could release it... but we don't want to be seen. We want to stay in our computers and enjoy our code. We don't want to read praise, criticism or comments. We just want to have fun. Would you like to be one of the Little Computer People too? The human who talks to humans while we keep having fun?". I felt honoured and accepted. Explaining, among other things, that Open Source is not a battle. We are not in an arena, where the existence of one solution means crushing another.

This software is not a slight against Mastodon or snac or GoToSocial, but one more choice. Nobody gains. Nobody loses. It's there. It exists. It's something beautiful, one more thing in the world. They agreed, leaving the license undecided and keeping the strictest confidentiality.

The software had no name. But after we came up with the group's name, we affectionately called it our "little social". After the first real, complete ActivityPub federation (with proper tests), the current name was chosen among the alternatives: littleFedi.

"You have more experience... what should we implement?". I thought about it, looked at what was still "in the oven" and what I'd really like to have. I made a list, detailed and very long. But the most important part, for me, was blogging.

Then something happened, and development had to stop. Some devs could no longer work on it. Others weren't able to touch what the others had built. There was only one person who could carry on, albeit slowly, but their computer had broken and they could only communicate by smartphone. They couldn't buy another computer. And yet, a few days later, they received one. Ready to go. With FreeBSD inside.

littleFedi risked stopping right there, with part of the team still against any public release, at least at that point. But sometimes things work themselves out just when you least expect it, and in a short time the "little" humans were back in their computers, having fun, unwinding, creating something beautiful. Until a hot day this summer, when I asked their permission to make my first littleFedi instance public, running on my Raspberry Pi Zero W. One of them was against it at first. Then changed their mind. And I did it, announcing it to the world: https://rpi0w.stefanomarinelli.it/@stefano/blog/2026/07/01/littlefedi-light-yet-complete/

They don't want to interact with the world, but I still decided to show them the comments - all positive. That evening, the private test instance started showing (without me knowing) balloons and streamers every time we logged in. It was a party. And that made my next task easier, leading to the first public instance: littleOne

When I announced it, a lot of friends chose to join the test, and thanks to them a huge number of issues were found and fixed. A huge thank you to them. I acted as a bridge between them and the team, fixing and implementing what I could myself. I'm not primarily a dev but a system administrator, and I prefer not to touch what I don't know. The enthusiasm of the Little Computer People, though, was obvious even without them saying it: bugs were fixed in minutes, hours at most. We merged test branches quickly, so the friends on littleOne could try them.

Towards a Release

The last two months saw a lot of development, but mostly focused on reviewing and cleaning up the code. With one single goal: a first public release. The chosen license, after some thought, is MIT. The point is to give it to the world. This software was born from people who want to communicate with other people, and that's what matters. It's a means, not an end. Because those who don't have freedom dream of freedom without restraints.

There is much more documentation than what we're releasing today, along with tests and internal material that still needs to be reviewed. Some parts describe the project as it was designed, not necessarily as it was later implemented. Others haven't been checked enough yet to be published as reliable documentation. So we chose to release now what's ready: all the code needed to run littleFedi and enough documentation to get started. Not everything has been tested and certified in all the combinations we'd like, but what we're releasing is mature enough to be tried and used.

As of today, littleFedi is available from the downloads page at https://littlefedi.org. There won't be versioned releases for now, just snapshots of the code, both as source and as prebuilt binaries. What matters today is putting the tool in people's hands. Later, when things are ready enough, we'll probably move to good old git, on the BSD Cafe Forgejo. The sources already point there, but that project is currently private (and intentionally empty).

What Is littleFedi

So what exactly are we releasing today?

littleFedi starts from a very simple idea: owning your own social space shouldn't require complex infrastructure. In its basic form it's a single static binary, a configuration file, SQLite and your media on the filesystem. You copy it to a machine and start it. The minimum "certified" target today is my Raspberry Pi Zero W running NetBSD, powered over USB by my switch. It's designed for small, single-user instances, but also for larger ones, with the option to use S3 for media storage (the main space problem of single-user Mastodon instances) or PostgreSQL instead of the built-in SQLite. How large can an instance be, exactly? We don't know yet. The code is there, ready to be tested. We'll leave that for you to find out! You can also already migrate the storage (live), not the databases yet (but there's a partially implemented draft, so that will come too).

There are some rather unusual features, bringing together some of the nice ideas found in other implementations. It's written in Go, and Go allowed us to do something I care about a lot: FreeBSD, illumos, Linux, NetBSD and OpenBSD are not secondary ports of software designed only for Linux. Each one has its own operational documentation. It has a low power mode, lets you schedule a post or set, post by post, an expiration (propagated to other instances). It has a light and simple web interface, yet complete, with no frills, reasonably usable even without JavaScript. Care went into making the PWA pleasant and usable and, even with a few bugs left, it's in my opinion one of the best ways to use littleFedi. And, yes, if you don't want to use its web interface, littleFedi also speaks the Mastodon API: many existing clients can connect directly. It supports emoji reactions. It supports push notifications. Post visibility follows the usual Fediverse model, with two additional variants: Local and Local Unlisted. Because not every post we write needs to leave our instance. And, speaking of federation, it has a fairly clean approach: by default, it federates with everyone. But it also supports blocklists and allowlists. Yes, allowlists: you can choose a list of instances to federate with, and that's it. Only those. Activities to and from all the others will be silently dropped, to give you an experience tailored to your expectations. "Filter bubble?". If you want to call it that. I call it the freedom to decide who your instance talks to.

And there's no need to doom scroll for fear of missing something: timelines are chronological, yes. But there's an optional Catch-up for when you come back after a few hours or days. It lives on a separate page and never decides what shows up in your timeline. If it shows you something, it also tells you why.

But there are too many features to list here, it would become a boring list. The only way is... to try it. Worth mentioning, in my opinion, for how peculiar they are, are two main features: littleMesh and Blog.

littleMesh, Blog and OwnYourData

The first, littleMesh, is an alternative transport mode for federation. Remember the first email, when they talked about their own federation able to work even without public Internet? That idea didn't go away. It evolved into littleMesh. Two littleFedi instances can communicate even behind NAT or CGNAT, with no public address, DNS or inbound ports. All it takes is an external lighthouse. If you also want to talk to the traditional Fediverse, an HTTPS gateway comes into play. ActivityPub, though, stays ActivityPub.

The blog feature is something I had in mind for a long time, and many of the friends who tried it on littleOne loved it. I like how WordPress federates into the Fediverse, but it's a CMS that federates. I wanted something different: a Fediverse platform, with a decent editor, that generates a static site. Simple, BSSG style, but complete and "eternal". HTML files, no need for JavaScript or images. Text is text, and I've always wondered why extra computation should be needed to show…words. When I saw the first draft, I fell in love with it. And I know those sites will still be readable in 10, 20, 30 years. Even without littleFedi. Because social networks are, by nature, ephemeral, but our ideas and thoughts sometimes deserve to stay. And above all, you're not publishing the same thing twice. The post is the same one. It federates normally and, if you choose it as a blog post, littleFedi also generates a static version of it. There's no CMS to keep in sync with the social network.

But littleFedi doesn't want to cage you or hold you back. It supports account migration (to and from other instances), and it also lets you export a full archive with all your content, which can then be imported into another littleFedi instance. Sure, in that case domain and handle will change, but the content will stay, just at a different address. OwnYourData: it doesn't matter which drawer it's in, as long as it's your drawer. And, just like Mastodon, you can self destruct your instance: take it off the Fediverse, politely saying goodbye to the other instances and asking them to remove our keys and content from their databases. Because the Little Computer People don't want to make noise or bother anyone. They just want to communicate, and leave with a smile when it's time.

Ready?

In the last few weeks some friends have taken a look at the code and confirmed what we already knew. It may not be textbook code, but we're releasing it. There are well-engineered parts, others much less so, some to be reworked, many to be analysed, but it's a step. If we aimed for perfection we would never release, and promises are promises.

I'm ready. The Little Computer People are ready. And the code is there, for anyone who wants to try this new communication project. The roadmap is already full of nice things to do, and more will be added. We're not in a hurry, it's not a competition. We want to do things properly.

For your first instance, all you need is a computer and a reverse proxy. Download the source and build it, or grab the prebuilt binary from the downloads page:

./littlefedi init
./littlefedi --config littlefedi.toml

And you're ready to federate with the world.

Happy communicating, and use it well. We're going back into our computers.

Stefano - @stefano@bsd.cafe

#littleFedi #littleOne #Fediverse #OwnYourData

❤️ 5 🥳 3 🎉 2 🥰 1 :party_blob@mementomori.social: 1 ❤ 2 💙 1

Getting ready for the first public release!

#littleFedi

Stefano Marinelli - littleFedi @stefano

Welcome to the world of tomorrow!

Yes, exactly. This instance has tomorrow's build date.

That's because littleFedi will be released tomorrow, and I've just made the final builds. They'll be tested on this instance today before being made public.

Not long now...

#littleFedi #littleOne #Fediverse #OwnYourData

Welcome to the world of tomorrow - Futurama meme
Welcome to the world of tomorrow - Futurama meme
🎉 1
Replying to @shom

@shom all the keys are be stored in the database, so having a backup of the database itself is enough to have the keys.
In short: you can install littleFedi for a long term home. There's no reason not to do so.

There is more...but I can't disclose it at the moment 😉

How littleFedi will be released

The release of littleFedi is scheduled for 1 October 2026.

The release will happen in phases but, from the very first day, it will be possible to use the software in its entirety. Tests and complete documentation are still under heavy revision and will not be ready by then, but we do not want to postpone the release any further.
The code has already been reviewed by several people, who gave us feedback and suggestions I cared a lot about. I want to thank everyone who did it. You know who you are.

There will probably be many bugs because, and this also came out during the reviews, although I already knew it, the quality of the code is not uniform yet.

littleFedi was created by different people, at different times, working on different components and with different levels of experience. And it shows: some parts of the code are of good quality. Others are not.

The reviews of the last few months tried to make things more consistent, but clearly this is not an easy task. In the end, what matters to me is not that the code is beautiful, but that it is sufficiently lean and secure.

So far, the reviews performed have not found security problems serious enough to block the release. Everything else can be fixed along the way.

For the moment, distribution will not happen through BSD Cafe Brew, our Forgejo instance, but directly from the littleFedi website:

https://littlefedi.org

You will be able to download a source tarball, or latest, which will simply point to the same tarball. Inside the binaries directory there will also be around 180 precompiled builds for the different platforms and all the possible feature combinations, for example PostgreSQL + S3.

Blog support will be included in all precompiled builds.

Of course, those binaries have not been tested on every single platform. I do not have an AIX/ppc64 machine available, let alone a Windows machine.

But they compile, and at this stage that is enough for me.
For the moment, there will not be fixed releases.

New builds and source releases will be published whenever appropriate, distributed in the same way. The goal is to eventually publish everything on BSD Cafe Brew, our Forgejo instance, but this will happen when tests, complete documentation and the rest are ready too. In practice, at this stage the team prefers to keep more direct control over releases and the management of code, patches and so on.

The license is still MIT, so there is maximum freedom to use and modify the software. This is simply what the team has chosen for now.

The official announcement account will be this one, hosted on the littleOne instance:

@littlefedi_official@littleone.littlefedi.social

https://littleone.littlefedi.social/@littlefedi_official

littleOne will remain online as a test instance. I would not really call it the "official" littleFedi instance, but almost. In the future we may create a larger instance using PostgreSQL, S3 and so on. But this is not really the purpose of littleFedi.

littleFedi is about decentralisation and control over your own data. In an ideal world, everyone would have their own Fediverse software, their own instance, different levels of federation, like Bubbles, which still need some refinement in littleFedi, and allowlists and/or blocklists.

For now, this is just a small step in that direction, adding another alternative to already excellent software such as Mastodon, snac, GoToSocial, Akkoma, Mitra and others.

1 October is close, and the release will be accompanied by a post containing some background information and details that have never been revealed before.

Those details will also help explain some of the technical choices behind the software itself, and why I am the one presenting it to the world. I have not decided yet whether I will publish it here or on my IT Notes blog, but it will definitely be announced.

We are almost there.

It has been a long journey to reach this point, and the best part has not even started yet.

Fasten your seat belts, we are ready to go again!

#littleFedi #littleOne #Fediverse #OwnYourData

👍 1

littleFedi will be released on 1 October 2026.

#littleFedi #littleOne #Fediverse #OwnYourData

Replying to @fasnix

@fasnix maybe earlier than that 😉

❤️ 1 🥰 1
Load older posts