.github | ||
docker | ||
docs | ||
server | ||
ui | ||
.dockerignore | ||
.travis.yml | ||
install.sh | ||
LICENSE | ||
README.md |
Lemmy
A link aggregator / reddit clone for the fediverse.
Lemmy Dev instance for testing purposes only
This is a very early beta version, and a lot of features are currently broken or in active development, such as federation.
Front Page | Post |
---|---|
Features
- Open source, AGPL License.
- Self hostable, easy to deploy.
- Comes with Docker.
- Live-updating Comment threads.
- Full vote scores
(+/-)
like old reddit. - Moderation abilities.
- Public Moderation Logs.
- Both site admins, and community moderators, who can appoint other moderators.
- Can lock, remove, and restore posts and comments.
- Can ban and unban users from communities and the site.
- Clean, mobile-friendly interface.
- i18n / internationalization support.
- NSFW post / community support.
- High performance.
- Server is written in rust.
- Front end is
~80kB
gzipped.
About
Lemmy is similar to sites like Reddit, Lobste.rs, Raddle, or Hacker News: you subscribe to forums you're interested in, post links and discussions, then vote, and comment on them. Behind the scenes, it is very different; anyone can easily run a server, and all these servers are federated (think email), and connected to the same universe, called the Fediverse.
For a link aggregator, this means a user registered on one server can subscribe to forums on any other server, and can have discussions with users registered elsewhere.
The overall goal is to create an easily self-hostable, decentralized alternative to reddit and other link aggregators, outside of their corporate control and meddling.
Each lemmy server can set its own moderation policy; appointing site-wide admins, and community moderators to keep out the trolls, and foster a healthy, non-toxic environment where all can feel comfortable contributing.
Why's it called Lemmy?
- Lead singer from motorhead.
- The old school video game.
- The Koopa from Super Mario.
- The furry rodents.
Made with Rust, Actix, Inferno, Typescript and Diesel.
Install
Docker
Make sure you have both docker and docker-compose(>=1.24.0
) installed.
mkdir lemmy/
cd lemmy/
wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
docker-compose up -d
and goto http://localhost:8536
Nginx Config
location / {
rewrite (\/(user|u|inbox|post|community|c|login|search|sponsors|communities|modlog|home)+) /static/index.html break;
proxy_pass http://0.0.0.0:8536;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Develop
Docker Development
git clone https://github.com/dessalines/lemmy
cd lemmy/docker
./docker_update.sh # This pulls the newest version, builds and runs it
and goto http://localhost:8536
Local Development
Requirements
Set up Postgres DB
psql -c "create user rrr with password 'rrr' superuser;" -U postgres
psql -c 'create database rrr with owner rrr;' -U postgres
Running
git clone https://github.com/dessalines/lemmy
cd lemmy
./install.sh
# For live coding, where both the front and back end, automagically reload on any save, do:
# cd ui && yarn start
# cd server && cargo watch -x run
Documentation
Support
Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
- Support on Patreon.
- Sponsor List.
- bitcoin:
1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK
- ethereum:
0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01
- monero:
41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV
Translations
If you'd like to add translations, take a look a look at the english translation file.
- Languages supported:
en
,zh
,fr
,sv
,de
,ru
,de
Credits
Icon made by Andy Cuccaro (@andycuccaro).