]> Untitled Git - lemmy.git/blob - README.md
870bfd7e8ebf286612a2be565d154c1c4d23676d
[lemmy.git] / README.md
1 <p align="center">
2   <a href="" rel="noopener">
3  <img width=200px height=200px src="ui/assets/favicon.svg"></a>
4 </p>
5
6 <h3 align="center">Lemmy</h3>
7
8 <div align="center">
9
10 [![Github](https://img.shields.io/badge/-Github-blue)](https://github.com/dessalines/lemmy)
11 [![Gitlab](https://img.shields.io/badge/-Gitlab-yellowgreen)](https://gitlab.com/dessalines/lemmy)
12 [![Mastodon Follow](https://img.shields.io/mastodon/follow/810572?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@LemmyDev)
13 ![GitHub stars](https://img.shields.io/github/stars/dessalines/lemmy?style=social)
14 [![Matrix](https://img.shields.io/matrix/rust-reddit-fediverse:matrix.org.svg?label=matrix-chat)](https://riot.im/app/#/room/#rust-reddit-fediverse:matrix.org)
15 ![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/dessalines/lemmy.svg)
16 [![Build Status](https://travis-ci.org/dessalines/lemmy.svg?branch=master)](https://travis-ci.org/dessalines/lemmy)
17 [![GitHub issues](https://img.shields.io/github/issues-raw/dessalines/lemmy.svg)](https://github.com/dessalines/lemmy/issues)
18 [![Docker Pulls](https://img.shields.io/docker/pulls/dessalines/lemmy.svg)](https://cloud.docker.com/repository/docker/dessalines/lemmy/)
19 ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/dessalines/lemmy.svg)
20 ![GitHub repo size](https://img.shields.io/github/repo-size/dessalines/lemmy.svg)
21 [![License](https://img.shields.io/github/license/dessalines/lemmy.svg)](LICENSE)
22 [![Patreon](https://img.shields.io/badge/-Support%20on%20Patreon-blueviolet.svg)](https://www.patreon.com/dessalines)
23 </div>
24
25 ---
26
27 <p align="center">A link aggregator / reddit clone for the fediverse.
28     <br> 
29 </p>
30
31 [Lemmy Dev instance](https://dev.lemmy.ml) *for testing purposes only*
32
33 This is a **very early beta version**, and a lot of features are currently broken or in active development, such as federation.
34
35 Front Page|Post
36 ---|---
37 ![main screen](https://i.imgur.com/kZSRcRu.png)|![chat screen](https://i.imgur.com/4XghNh6.png)
38
39 [Lemmy](https://github.com/dessalines/lemmy) is similar to sites like [Reddit](https://reddit.com), [Lobste.rs](https://lobste.rs), [Raddle](https://raddle.me), or [Hacker News](https://news.ycombinator.com/): 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](https://en.wikipedia.org/wiki/Fediverse).
40
41 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.
42
43 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.
44
45 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.
46
47 Made with [Rust](https://www.rust-lang.org), [Actix](https://actix.rs/), [Inferno](https://www.infernojs.org), [Typescript](https://www.typescriptlang.org/) and [Diesel](http://diesel.rs/).
48
49 [Documentation](https://dev.lemmy.ml/docs/index.html)
50
51 ## Features
52
53 - Open source, [AGPL License](/LICENSE).
54 - Self hostable, easy to deploy.
55   - Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes).
56 - Clean, mobile-friendly interface.
57   - Live-updating Comment threads.
58   - Full vote scores `(+/-)` like old reddit.
59   - Themes, including light, dark, and solarized.
60   - Emojis with autocomplete support. Start typing `:`
61   - User tagging using `@`, Community tagging using `#`.
62   - Notifications, on comment replies and when you're tagged.
63   - i18n / internationalization support.
64   - RSS / Atom feeds for `All`, `Subscribed`, `Inbox`, `User`, and `Community`.
65 - Cross-posting support.
66   - A *similar post search* when creating new posts. Great for question / answer communities.
67 - Moderation abilities.
68   - Public Moderation Logs.
69   - Both site admins, and community moderators, who can appoint other moderators.
70   - Can lock, remove, and restore posts and comments.
71   - Can ban and unban users from communities and the site.
72   - Can transfer site and communities to others.
73 - Can fully erase your data, replacing all posts and comments.
74 - NSFW post / community support.
75 - High performance.
76   - Server is written in rust.
77   - Front end is `~80kB` gzipped.
78   - Supports arm64 / Raspberry Pi.
79
80 ## Why's it called Lemmy?
81
82 - Lead singer from [Motörhead](https://invidio.us/watch?v=pWB5JZRGl0U).
83 - The old school [video game](<https://en.wikipedia.org/wiki/Lemmings_(video_game)>).
84 - The [Koopa from Super Mario](https://www.mariowiki.com/Lemmy_Koopa).
85 - The [furry rodents](http://sunchild.fpwc.org/lemming-the-little-giant-of-the-north/).
86
87 ## Install
88
89 ### Docker
90
91 Make sure you have both docker and docker-compose(>=`1.24.0`) installed:
92
93 ```bash
94 mkdir lemmy/
95 cd lemmy/
96 wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
97 wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/lemmy.hjson
98 # Edit lemmy.hjson to do more configuration
99 docker-compose up -d
100 ```
101
102 and go to http://localhost:8536.
103
104 [A sample nginx config](/ansible/templates/nginx.conf), could be setup with:
105
106 ```bash
107 wget https://raw.githubusercontent.com/dessalines/lemmy/master/ansible/templates/nginx.conf
108 # Replace the {{ vars }}
109 sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf
110 ```
111 #### Updating
112
113 To update to the newest version, run:
114
115 ```bash
116 wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml
117 docker-compose up -d
118 ```
119
120 ### Ansible
121
122 First, you need to [install Ansible on your local computer](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html) (e.g. using `sudo apt install ansible`) or the equivalent for you platform.
123
124 Then run the following commands on your local computer:
125
126 ```bash
127 git clone https://github.com/dessalines/lemmy.git
128 cd lemmy/ansible/
129 cp inventory.example inventory
130 nano inventory # enter your server, domain, contact email
131 ansible-playbook lemmy.yml --become
132 ```
133
134 ## Support
135
136 Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project.
137
138 - [Support on Patreon](https://www.patreon.com/dessalines).
139 - [Sponsor List](https://dev.lemmy.ml/sponsors).
140 - bitcoin: `1Hefs7miXS5ff5Ck5xvmjKjXf5242KzRtK`
141 - ethereum: `0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01`
142 - monero: `41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV`
143
144 ## Translations 
145
146 If you'd like to add translations, take a look a look at the [English translation file](ui/src/translations/en.ts).
147
148 - Languages supported: English (`en`), Chinese (`zh`), Dutch (`nl`), Esperanto (`eo`), French (`fr`), Spanish (`es`), Swedish (`sv`), German (`de`), Russian (`ru`), Italian (`it`).
149
150 lang | done | missing
151 --- | --- | ---
152 de | 95% | avatar,upload_avatar,show_avatars,docs,old_password,send_notifications_to_email,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw 
153 eo | 82% | number_of_communities,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,theme,are_you_sure,yes,no 
154 es | 90% | avatar,upload_avatar,show_avatars,archive_link,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw 
155 fr | 90% | avatar,upload_avatar,show_avatars,archive_link,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw 
156 it | 91% | avatar,upload_avatar,show_avatars,archive_link,docs,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw 
157 nl | 83% | preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,theme 
158 ru | 78% | cross_posts,cross_post,number_of_communities,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,stickied,delete_account,delete_account_confirm,banned,creator,number_online,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,theme,monero,by,to,transfer_community,transfer_site,are_you_sure,yes,no 
159 sv | 90% | avatar,upload_avatar,show_avatars,archive_link,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw 
160 zh | 76% | cross_posts,cross_post,users,number_of_communities,preview,upload_image,avatar,upload_avatar,show_avatars,formatting_help,view_source,sticky,unsticky,archive_link,settings,stickied,delete_account,delete_account_confirm,banned,creator,number_online,docs,replies,mentions,old_password,forgot_password,reset_password_mail_sent,password_change,new_password,no_email_setup,send_notifications_to_email,language,browser_default,downvotes_disabled,enable_downvotes,open_registration,registration_closed,enable_nsfw,recent_comments,nsfw,show_nsfw,theme,monero,by,to,transfer_community,transfer_site,are_you_sure,yes,no 
161
162 If you'd like to update this report, run:
163
164 ```bash 
165 cd ui
166 ts-node translation_report.ts > tmp # And replace the text above.
167 ```
168
169 ## Credits
170
171 Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license.