diff --git a/README.md b/README.md index 84b3dba98..1c5709745 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,35 @@ -

- - -

- -

Lemmy

-
-![GitHub stars](https://img.shields.io/github/stars/dessalines/lemmy?style=social) -[![Mastodon Follow](https://img.shields.io/mastodon/follow/810572?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@LemmyDev) -[![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) ![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/dessalines/lemmy.svg) [![Build Status](https://travis-ci.org/dessalines/lemmy.svg?branch=master)](https://travis-ci.org/dessalines/lemmy) [![GitHub issues](https://img.shields.io/github/issues-raw/dessalines/lemmy.svg)](https://github.com/dessalines/lemmy/issues) [![Docker Pulls](https://img.shields.io/docker/pulls/dessalines/lemmy.svg)](https://cloud.docker.com/repository/docker/dessalines/lemmy/) -![GitHub commit activity](https://img.shields.io/github/commit-activity/m/dessalines/lemmy.svg) -![GitHub repo size](https://img.shields.io/github/repo-size/dessalines/lemmy.svg) [![License](https://img.shields.io/github/license/dessalines/lemmy.svg)](LICENSE) -[![Patreon](https://img.shields.io/badge/-Support%20on%20Patreon-blueviolet.svg)](https://www.patreon.com/dessalines) +![GitHub stars](https://img.shields.io/github/stars/dessalines/lemmy?style=social)
---- +

+ + -

A link aggregator / reddit clone for the fediverse. -
+

Lemmy

+

+ A link aggregator / reddit clone for the fediverse. +
+
+ View Site + · + Documentation + · + Report Bug + · + Request Feature + · + Releases +

-[Lemmy Dev instance](https://dev.lemmy.ml) *This data is being backed up, and once federation is working, it will be the basis for a main instance.* - -This is a **very early beta version**, and a lot of features are currently broken or in active development, such as federation. +## About The Project Front Page|Post ---|--- @@ -42,17 +43,22 @@ The overall goal is to create an easily self-hostable, decentralized alternative 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. -Made with [Rust](https://www.rust-lang.org), [Actix](https://actix.rs/), [Inferno](https://infernojs.org), [Typescript](https://www.typescriptlang.org/) and [Diesel](http://diesel.rs/). +*Note: Federation is still in active development* -- [Documentation](https://dev.lemmy.ml/docs/index.html) -- [Releases / Changelog](/RELEASES.md) -- [Contributing](https://dev.lemmy.ml/docs/contributing.html) +### Why's it called Lemmy? -## Repository Mirrors +- Lead singer from [Motörhead](https://invidio.us/watch?v=pWB5JZRGl0U). +- The old school [video game](). +- The [Koopa from Super Mario](https://www.mariowiki.com/Lemmy_Koopa). +- The [furry rodents](http://sunchild.fpwc.org/lemming-the-little-giant-of-the-north/). -- [GitHub](https://github.com/dessalines/lemmy) -- [Gitea](https://yerbamate.dev/dessalines/lemmy) -- [GitLab](https://gitlab.com/dessalines/lemmy) +### Built With + +- [Rust](https://www.rust-lang.org) +- [Actix](https://actix.rs/) +- [Diesel](http://diesel.rs/) +- [Inferno](https://infernojs.org) +- [Typescript](https://www.typescriptlang.org/) ## Features @@ -89,60 +95,11 @@ Made with [Rust](https://www.rust-lang.org), [Actix](https://actix.rs/), [Infern - Front end is `~80kB` gzipped. - Supports arm64 / Raspberry Pi. -## Why's it called Lemmy? - -- Lead singer from [Motörhead](https://invidio.us/watch?v=pWB5JZRGl0U). -- The old school [video game](). -- The [Koopa from Super Mario](https://www.mariowiki.com/Lemmy_Koopa). -- The [furry rodents](http://sunchild.fpwc.org/lemming-the-little-giant-of-the-north/). - -## Install - -### Docker - -Make sure you have both docker and docker-compose(>=`1.24.0`) installed: - -```bash -mkdir lemmy/ -cd lemmy/ -wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml -wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/lemmy.hjson -# Edit lemmy.hjson to do more configuration -docker-compose up -d -``` - -and go to http://localhost:8536. - -[A sample nginx config](/ansible/templates/nginx.conf) (Image uploading won't work without this), could be setup with: - -```bash -wget https://raw.githubusercontent.com/dessalines/lemmy/master/ansible/templates/nginx.conf -# Replace the {{ vars }} -sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf -``` -#### Updating - -To update to the newest version, run: - -```bash -wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml -docker-compose up -d -``` - -### Ansible - -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. - -Then run the following commands on your local computer: - -```bash -git clone https://github.com/dessalines/lemmy.git -cd lemmy/ansible/ -cp inventory.example inventory -nano inventory # enter your server, domain, contact email -ansible-playbook lemmy.yml --become -``` +## Installation +- [Docker](https://dev.lemmy.ml/docs/administration_install_docker.html) +- [Ansible](https://dev.lemmy.ml/docs/administration_install_ansible.html) +- [Kubernetes](https://dev.lemmy.ml/docs/administration_install_kubernetes.html) ## Support / Donate Lemmy is free, open-source software, meaning no advertising, monetizing, or venture capital, ever. Your donations directly support full-time development of the project. @@ -157,7 +114,13 @@ Lemmy is free, open-source software, meaning no advertising, monetizing, or vent - ethereum: `0x400c96c96acbC6E7B3B43B1dc1BB446540a88A01` - monero: `41taVyY6e1xApqKyMVDRVxJ76sPkfZhALLTjRvVKpaAh2pBd4wv9RgYj1tSPrx8wc6iE1uWUfjtQdTmTy2FGMeChGVKPQuV` -## Translations +## Contributing + +- [Contributing instructions](https://dev.lemmy.ml/docs/contributing.html) +- [Docker Development](https://dev.lemmy.ml/docs/contributing_docker_development.html) +- [Local Development](https://dev.lemmy.ml/docs/contributing_local_development.html) + +### Translations If you'd like to add translations, take a look at the [English translation file](ui/src/translations/en.ts). @@ -189,6 +152,14 @@ cd ui ts-node translation_report.ts ``` +## Contact + +- [Mastodon](https://mastodon.social/@LemmyDev) - [![Mastodon Follow](https://img.shields.io/mastodon/follow/810572?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@LemmyDev) +- [Matrix](https://riot.im/app/#/room/#rust-reddit-fediverse:matrix.org) - [![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) +- [GitHub](https://github.com/dessalines/lemmy) +- [Gitea](https://yerbamate.dev/dessalines/lemmy) +- [GitLab](https://gitlab.com/dessalines/lemmy) + ## Credits Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license. diff --git a/docs/src/about.md b/docs/src/about.md index 7aa1be27a..33ecb211a 100644 --- a/docs/src/about.md +++ b/docs/src/about.md @@ -1,6 +1,8 @@ -# Lemmy - A link aggregator / reddit clone for the fediverse. +## About The Project -[Lemmy Dev instance](https://dev.lemmy.ml) *for testing purposes only* +Front Page|Post +---|--- +![main screen](https://i.imgur.com/kZSRcRu.png)|![chat screen](https://i.imgur.com/4XghNh6.png) [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). @@ -10,6 +12,8 @@ The overall goal is to create an easily self-hostable, decentralized alternative 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. +*Note: Federation is still in active development* + ### Why's it called Lemmy? - Lead singer from [Motörhead](https://invidio.us/watch?v=pWB5JZRGl0U). @@ -17,4 +21,10 @@ Each lemmy server can set its own moderation policy; appointing site-wide admins - The [Koopa from Super Mario](https://www.mariowiki.com/Lemmy_Koopa). - The [furry rodents](http://sunchild.fpwc.org/lemming-the-little-giant-of-the-north/). -Made with [Rust](https://www.rust-lang.org), [Actix](https://actix.rs/), [Inferno](https://infernojs.org), [Typescript](https://www.typescriptlang.org/) and [Diesel](http://diesel.rs/). +### Built With + +- [Rust](https://www.rust-lang.org) +- [Actix](https://actix.rs/) +- [Diesel](http://diesel.rs/) +- [Inferno](https://infernojs.org) +- [Typescript](https://www.typescriptlang.org/) diff --git a/docs/src/about_features.md b/docs/src/about_features.md index 5c70c978e..a8371fc4d 100644 --- a/docs/src/about_features.md +++ b/docs/src/about_features.md @@ -1,20 +1,27 @@ # Features + - Open source, [AGPL License](/LICENSE). - Self hostable, easy to deploy. - Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes). - Clean, mobile-friendly interface. + - Only a minimum of a username and password is required to sign up! + - User avatar support. - Live-updating Comment threads. - Full vote scores `(+/-)` like old reddit. - Themes, including light, dark, and solarized. - Emojis with autocomplete support. Start typing `:` - User tagging using `@`, Community tagging using `#`. + - Integrated image uploading in both posts and comments. + - A post can consist of a title and any combination of self text, a URL, or nothing else. - Notifications, on comment replies and when you're tagged. + - Notifications can be sent via email. - i18n / internationalization support. - RSS / Atom feeds for `All`, `Subscribed`, `Inbox`, `User`, and `Community`. - Cross-posting support. - A *similar post search* when creating new posts. Great for question / answer communities. - Moderation abilities. - Public Moderation Logs. + - Can sticky posts to the top of communities. - 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. diff --git a/docs/src/administration.md b/docs/src/administration.md index c4c2b01f1..9851232d9 100644 --- a/docs/src/administration.md +++ b/docs/src/administration.md @@ -1 +1,3 @@ -Information for Lemmy instance admins, and those who want to start an instance. \ No newline at end of file +# Admin info + +Information for Lemmy instance admins, and those who want to start an instance. diff --git a/docs/src/administration_configuration.md b/docs/src/administration_configuration.md index 73ea35042..600fc3d20 100644 --- a/docs/src/administration_configuration.md +++ b/docs/src/administration_configuration.md @@ -1,3 +1,5 @@ +# Configuration + The configuration is based on the file [defaults.hjson](server/config/defaults.hjson). This file also contains documentation for all the available options. To override the defaults, you can copy the options you want to change into your local `config.hjson` file. Additionally, you can override any config files with environment variables. These have the same name as the config options, and are prefixed with `LEMMY_`. For example, you can override the `database.password` with diff --git a/docs/src/administration_install_ansible.md b/docs/src/administration_install_ansible.md index 03642b897..875dae6a1 100644 --- a/docs/src/administration_install_ansible.md +++ b/docs/src/administration_install_ansible.md @@ -1,3 +1,5 @@ +# Ansible Installation + 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. Then run the following commands on your local computer: diff --git a/docs/src/administration_install_docker.md b/docs/src/administration_install_docker.md index 64abe737e..f92cbd5be 100644 --- a/docs/src/administration_install_docker.md +++ b/docs/src/administration_install_docker.md @@ -1,3 +1,5 @@ +# Docker Installation + Make sure you have both docker and docker-compose(>=`1.24.0`) installed: ```bash @@ -5,20 +7,20 @@ mkdir lemmy/ cd lemmy/ wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/prod/docker-compose.yml wget https://raw.githubusercontent.com/dessalines/lemmy/master/docker/lemmy.hjson -# Edit lemmy.hjson to do more configuration +# Edit lemmy.hjson, and docker-compose.yml to do more configuration (like adding a custom password) docker-compose up -d ``` and go to http://localhost:8536. -[A sample nginx config](/ansible/templates/nginx.conf), could be setup with: +[A sample nginx config](/ansible/templates/nginx.conf) (Note: Avatar / Image uploading won't work without this), could be setup with: ```bash wget https://raw.githubusercontent.com/dessalines/lemmy/master/ansible/templates/nginx.conf # Replace the {{ vars }} sudo mv nginx.conf /etc/nginx/sites-enabled/lemmy.conf ``` -#### Updating +## Updating To update to the newest version, run: diff --git a/docs/src/administration_install_kubernetes.md b/docs/src/administration_install_kubernetes.md index 886558dce..729cb1558 100644 --- a/docs/src/administration_install_kubernetes.md +++ b/docs/src/administration_install_kubernetes.md @@ -1,3 +1,5 @@ +# Kubernetes Installation + You'll need to have an existing Kubernetes cluster and [storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/). Setting this up will vary depending on your provider. To try it locally, you can use [MicroK8s](https://microk8s.io/) or [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/). diff --git a/docs/src/contributing_docker_development.md b/docs/src/contributing_docker_development.md index 0ed5bde5e..d5ab58293 100644 --- a/docs/src/contributing_docker_development.md +++ b/docs/src/contributing_docker_development.md @@ -1,4 +1,6 @@ -Run: +# Docker Development + +## Running ```bash git clone https://github.com/dessalines/lemmy @@ -8,4 +10,4 @@ cd lemmy/docker/dev and go to http://localhost:8536. -Note that compile times are relatively long with Docker, because builds can't be properly cached. If this is a problem for you, you should use [Local Development](contributing_local_development.md). \ No newline at end of file +Note that compile times when changing `Cargo.toml` are relatively long with Docker, because builds can't be incrementally cached. If this is a problem for you, you should use [Local Development](contributing_local_development.md). diff --git a/docs/src/contributing_websocket_http_api.md b/docs/src/contributing_websocket_http_api.md index 9e87d4faa..a73a1c133 100644 --- a/docs/src/contributing_websocket_http_api.md +++ b/docs/src/contributing_websocket_http_api.md @@ -1,4 +1,5 @@ # Lemmy API + *Note: this may lag behind the actual API endpoints [here](../server/src/api).*