# Lemmy: Self-Hosted Federated Link Aggregator for the Fediverse

> Lemmy is a self-hosted link aggregator and forum built on ActivityPub federation, where every instance connects to the same decentralized network. It is a direct alternative to Reddit that anyone can deploy, and it is moving toward a stable 1.0 release.

**LemmyNet/lemmy** — 🐀 A decentralised discussion platform for communities.

- Repository: https://github.com/LemmyNet/lemmy
- Website: https://join-lemmy.org
- Stars: 14,614 · Forks: 969
- Language: Rust
- License: AGPL-3.0
- Published: 2026-09-21 · Updated: 2026-09-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/lemmynet-lemmy

## What Lemmy Is and How the Fediverse Model Works

Lemmy is a link aggregator and discussion forum for the Fediverse. The README describes it as similar to Reddit, Lobste.rs, or Hacker News: users subscribe to communities, post links and discussions, vote, and comment. The critical difference is federation: anyone can run a Lemmy server, and all Lemmy servers are connected through the ActivityPub protocol, which is the same protocol used by Mastodon and other Fediverse platforms.

Federation means that a user registered on one Lemmy instance can subscribe to communities hosted on any other Lemmy instance and have conversations with users on different servers. The README uses email as an analogy: email inboxes on different providers communicate freely, and federated Lemmy instances work the same way.

Each Lemmy server sets its own moderation policy. The README describes a two-tier moderation structure: site-wide administrators who manage the entire instance, and community moderators who manage individual communities. Moderation actions including banning users, removing posts, and locking threads are supported. A public moderation log records these actions.

## What Lemmy Is Built On

The backend is written in Rust. The Cargo.toml specifies `rust-version = "1.92"` as the minimum supported Rust version. The framework is Actix, a Rust web framework. The database layer uses Diesel, a Rust ORM, against PostgreSQL. The `diesel.toml` and `migrations/` directory in the repository root handle schema migrations.

The frontend is written in TypeScript and uses Inferno, a lightweight React-compatible rendering library. The repository is structured as a Cargo workspace with many crates under the `crates/` directory: `db_schema`, `db_views/post`, `db_views/comment`, `db_views/community`, `api/api`, and others. This separation reflects a domain-driven layout where database views, API handlers, and utility code are separate crates rather than modules inside a single crate.

The current version in Cargo.toml is `1.0.0-beta.2`, which means the package has not yet reached a stable 1.0 release. The `[profile.release]` in Cargo.toml uses link-time optimization (`lto = "fat"`), `opt-level = 3`, and `codegen-units = 1` for maximum release build performance.

## Installing Lemmy with Docker

The README points to the Lemmy Administration Docs at `join-lemmy.org/docs/administration/administration.html` for full installation instructions. The documentation covers two primary methods: Docker and Ansible.

The repository includes a `docker/` directory and a `.dockerignore` file. The Docker image is available on Docker Hub under `dessalines/lemmy`. A `docker-compose.yml` approach sets up the Lemmy backend alongside a PostgreSQL database and, optionally, a reverse proxy.

For a basic Docker Compose setup, the pattern from the administration docs involves pulling the docker-compose.yml, configuring the database credentials and the hostname, and running `docker compose up -d`. The Lemmy container listens on port 8536 by default, and a reverse proxy such as nginx or Caddy is typically placed in front of it.

Ansible playbooks are the second supported deployment method. The repository references the Ansible installation path in the README without including the playbooks in this repository; they are maintained separately under the LemmyNet organization.

The `rust-toolchain.toml` file pins the Rust toolchain version for building from source. Building from source requires cloning the repository, installing the pinned Rust toolchain, and running `cargo build --release`.

## Features: Communities, Federation, Moderation, and RSS

Lemmy's feature list from the README covers three areas: user interface, cross-posting, and moderation.

The interface includes live-updating comment threads, voting with full `(+/-)` scores, themes including light, dark, and solarized, integrated image uploading in posts and comments, i18n (internationalization) support, private messaging, and email notifications for comment replies and mentions. Posts can consist of a title plus any combination of self text, a URL, or nothing else.

Cross-posting support includes a similar-post search when creating new posts, which the README describes as especially useful for question-and-answer communities.

Moderation features include public moderation logs, the ability to pin posts to the top of a community, banning and unbanning users from communities and from the site, locking and removing posts and comments, and the ability to transfer community ownership. A user can also fully erase their data, replacing all their posts and comments with deletion markers.

RSS and Atom feeds are available for the All feed, Subscribed feed, Inbox, individual users, and individual communities. NSFW post and community support is built in.

## Limitations and the Self-Hosting Burden

Self-hosting Lemmy means accepting full responsibility for uptime, backups, moderation, and federation health. Unlike a hosted platform, there is no operations team behind the service. Federation adds complexity: a misconfigured or defederated instance can cut off users from the broader network.

The Rust compilation step is resource-intensive. Compiling Lemmy from source requires several gigabytes of RAM and significant CPU time. The Docker images avoid this for deployment, but teams that want to patch or customize the backend must maintain a build environment.

Lemmy is approaching a stable release but is not yet at 1.0. The Cargo.toml version is `1.0.0-beta.2`, released on 2026-09-11. The Fediverse federation protocol means that changes to the ActivityPub implementation can affect compatibility with other Fediverse software. Instance operators need to follow upgrade notes carefully during the beta period.

The AGPL-3.0 license is a strong copyleft license. Any modified version of Lemmy that is deployed to users over a network must release its source code under AGPL-3.0. Operators who run unmodified instances are not affected, but developers building custom features on top of Lemmy need to account for this requirement.

## Comparison with Reddit and Other Alternatives

Reddit is a centralized platform operated by a single company with an advertising-based revenue model. Lemmy is self-hosted and decentralized: there is no single Lemmy company, and federation means no single instance controls the network. The README describes Lemmy explicitly as an easily self-hostable, decentralized alternative to Reddit and other link aggregators, outside of their corporate control and meddling.

Kbin is another ActivityPub-federated link aggregator that is compatible with Lemmy at the federation level. The README does not mention Kbin directly, but the two platforms federate with each other through the ActivityPub protocol. The practical difference is that Kbin uses a PHP/Symfony backend while Lemmy uses Rust.

The NLnet foundation provided a grant to fund Lemmy's development. The README also lists donation options via Liberapay, Ko-fi, OpenCollective, and Patreon, indicating that the project operates on community funding rather than commercial revenue. There is no advertising in Lemmy itself.

## Release Status, Arm64 Support, and License

Lemmy 1.0.0-beta.2 was released on 2026-09-11. The previous stable release was 0.19.20, dated 2026-07-21. The 1.0.0-beta.1 release appeared on 2026-07-03. The last push to the repository was on 2026-09-25. The project is actively maintained and not archived.

The README notes high performance as a design property and lists two specific platform facts: the server is written in Rust, and the project supports arm64 and Raspberry Pi. The Cargo.toml release profile settings (lto fat, opt-level 3, codegen-units 1) reflect an emphasis on maximizing runtime throughput at the cost of longer compile times.

The repository includes a `cliff.toml` file for generating changelogs from git commits, and a `.rustfmt.toml` for consistent Rust formatting. The `api_tests/` directory contains integration tests for the API layer.

The license is AGPL-3.0. The README links to the LICENSE file and the Code of Conduct at `join-lemmy.org/docs/code_of_conduct.html`.

## Conclusion

Lemmy is the right choice for communities or individuals who want to run a discussion platform they control, federated with the broader Fediverse, without corporate ownership or advertising. The Docker and Ansible install paths make server setup accessible. It is not a drop-in replacement for Reddit for users expecting algorithmic feeds, awards, or tight third-party API integrations: Lemmy follows ActivityPub federation rules, and each instance is independently moderated. Before self-hosting, verify that your server meets the Rust 1.92 minimum requirement for building from source and that you have PostgreSQL available. The AGPL-3.0 license requires distributing source code for any modified version deployed to users.

## FAQ

### How do I use Lemmy?

To use Lemmy as a regular user, visit any public Lemmy instance listed at join-lemmy.org, register an account with just a username and password, subscribe to communities, and post or comment. Users registered on one instance can subscribe to communities on any other Lemmy instance through federation.

### How do I install Lemmy on my own server?

Lemmy supports Docker and Ansible deployment. The administration documentation at join-lemmy.org/docs/administration/administration.html covers both paths. Docker is the most common approach: pull the docker-compose.yml, configure the database and hostname, and run docker compose up -d. A reverse proxy in front of port 8536 is recommended.

### What is Lemmy the software?

Lemmy is a self-hosted, federated link aggregator and discussion forum written in Rust, similar in function to Reddit. Each Lemmy server connects to the Fediverse through the ActivityPub protocol. It is free and open source under AGPL-3.0 with no advertising.

## Sources

- [LemmyNet/lemmy on GitHub](https://github.com/LemmyNet/lemmy)
- [License: AGPL-3.0](https://github.com/LemmyNet/lemmy/blob/main/LICENSE)
- [Project website](https://join-lemmy.org)
- [README](https://github.com/LemmyNet/lemmy/blob/main/README.md)
- [Releases](https://github.com/LemmyNet/lemmy/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/lemmynet-lemmy
