Introduction
Lemmy is a self-hosted link aggregation and discussion platform for the fediverse. Built in Rust with an Inferno.js frontend, it federates with other Lemmy instances and ActivityPub-compatible services like Mastodon, letting communities share content across a decentralized network without any single point of control.
What Lemmy Does
- Hosts communities (subreddit-like groups) with link posts, text posts, and image uploads
- Supports threaded comment discussions with voting, sorting, and moderation tools
- Federates with other Lemmy instances and ActivityPub services for cross-instance interaction
- Provides moderation tools including community-level mods, site admins, and content filters
- Offers user profiles with post history, saved items, and subscription management
Architecture Overview
Lemmy's backend is written in Rust using Actix-web, with Diesel as the ORM for PostgreSQL. The frontend is a server-side-rendered Inferno.js application. Federation is handled through the ActivityPub protocol, with outgoing activities queued and incoming activities validated against instance allow/block lists. Pictrs handles image hosting and thumbnailing as a separate service.
Self-Hosting & Configuration
- Deploy via Docker Compose with the official images for lemmy, lemmy-ui, postgres, and pictrs
- Or use the lemmy-ansible playbook for automated deployment on a VPS
- Configure lemmy.hjson for hostname, database, email, federation, and rate limiting
- Set up a reverse proxy with Nginx for SSL termination and WebSocket support
- Enable email via SMTP for user verification and password resets
Key Features
- Full ActivityPub federation connecting thousands of instances worldwide
- Customizable community rules with per-community and site-wide moderation
- Multiple sort algorithms including Active, Hot, New, and Scaled ranking
- Cross-posting between communities and cross-instance community subscriptions
- RSS feeds for communities, users, and site-wide content
Comparison with Similar Tools
- Reddit — Largest link aggregation platform; centralized and proprietary
- Kbin / Mbin — Fediverse magazine-style aggregator; PHP-based with a different UX approach
- Discourse — Feature-rich forum software; not federated and focused on long-form discussion
- Lobsters — Invite-only link aggregator for computing; single-instance, not federated
- Mastodon — Federated microblogging; designed for short posts rather than link aggregation
FAQ
Q: Can users on my Lemmy instance interact with other instances? A: Yes. Through ActivityPub federation, users can subscribe to communities, vote, and comment on any federated instance.
Q: How does moderation work across federated instances? A: Each instance has its own admins and community moderators. Instances can also block other instances entirely or filter specific content.
Q: What are the server requirements for running Lemmy? A: A small instance runs comfortably on 2 CPU cores, 2GB RAM, and 20GB storage. Larger instances need more resources for database and media handling.
Q: Can I migrate from Reddit to Lemmy? A: There are community tools for importing Reddit post histories, but federation means you can participate across the network from any single account.