You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Go to file
Dessalines f34ba11cbb Merge branch 'reorg' into dev
- Fixes #146
5 years ago
docs Adding a simple image expander instead of iframes. 5 years ago
server Done with reorg 5 years ago
ui Merge branch 'master' into dev 5 years ago
.dockerignore Adding docker. 5 years ago
.travis.yml Travis 5 years ago
Dockerfile Fixing docker file. 5 years ago
LICENSE Initial commit 5 years ago
README.md Fixes to readme. 5 years ago
docker-compose.yml Externalizing JWT token 5 years ago
docker_update.sh Add shebang to scripts 5 years ago
install.sh Externalizing JWT token 5 years ago
skaffold.yaml build: Minimize build time with multi-stage build, add Ingress and production versions 5 years ago

README.md

Lemmy

Build Status star this repo fork this repo GitHub issues GitHub repo size Matrix Patreon License

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
main screen chat screen

Features

  • Open source, AGPL License.
  • Self hostable, easy to deploy.
  • 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.
  • 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?

Made with Rust, Actix, Inferno, Typescript and Diesel.

Install

Docker

Make sure you have both docker and docker-compose installed.

git clone https://github.com/dessalines/lemmy
cd lemmy
./docker_update.sh # This pulls the newest version, builds and runs it

and goto http://localhost:8536

Kubernetes

Requirements

Production

# Deploy the Traefik Ingress
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/traefik-ds.yaml
# Replace ${IP} with your Ingress' IP
echo "${IP} dev.lemmy.local" >> /etc/hosts
skaffold run -p lemmy--prod

Now go to http://dev.lemmy.local.

Development

skaffold dev -p lemmy--dev

Now go to http://localhost:4444. It automatically proxies to localhost, both if the cluster is local or remote; it also hot-reloads the UI and automatically recompiles and restarts the server.

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

and goto http://localhost:8536

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.

Credits

Icons made by Freepik licensed by CC 3.0