Skip to content

LemmyNet/lemmy-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,158 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub tag (latest SemVer) Build Status GitHub issues Docker Pulls Translation status License GitHub stars

A link aggregator and forum for the fediverse.

Join Lemmy · Documentation · Matrix Chat · Report Bug · Request Feature · Releases · Code of Conduct

About The Project

Desktop Mobile
desktop mobile

Lemmy is similar to sites like Reddit, Lobste.rs, 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.

It is 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.

You can find more information in the Backend Repository.

Development

You need to have pnpm installed. Then run the following:

git clone https://github.com/LemmyNet/lemmy-ui.git --recursive
cd lemmy-ui
pnpm install
LEMMY_UI_BACKEND=https://voyager.lemmy.ml pnpm dev

Finally open http://localhost:1234 in your browser. This uses the public test instance https://voyager.lemmy.ml/ as backend. For more details such as developing with a locally compiled Lemmy backend, read the documentation.

Configuration

The following environment variables can be used to configure lemmy-ui:

ENV_VAR type default description
LEMMY_UI_HOST string 0.0.0.0:1234 The IP / port that the lemmy-ui isomorphic node server is hosted at.
LEMMY_UI_FRONTEND string undefined The base url where browsers can reach the lemmy-ui server, is inferred from request headers when undefined. (Protocol is optional)
LEMMY_UI_BACKEND string localhost:8536 The base url for lemmy-ui in the browser to connect to the lemmy backend server. (Protocol is optional)
LEMMY_UI_BACKEND_INTERNAL string LEMMY_UI_BACKEND The base url for the lemmy-ui server to connect to the lemmy backend server. (Protocol is optional)
LEMMY_UI_HTTPS bool false Uses https:// as the default protocol for base urls.
LEMMY_UI_EXTRA_THEMES_FOLDER string ./extra_themes A location for additional lemmy css themes.
LEMMY_UI_DISABLE_CSP bool false Disables CSP security headers
LEMMY_UI_CUSTOM_HTML_HEADER string undefined Injects a custom script into <head>.

Debugging

These environment variables are for debugging purposes and are disabled by default for production builds, but can be enabled explicitly.

ENV_VAR type default evaluation description
LEMMY_UI_ERUDA bool true runtime Enables Eruda, the console for mobile browsers. (In production Eruda partially violates the CSP, but remains useful.)
LEMMY_UI_SOURCE_MAPS bool true buildtime Gives browsers and node the ability to report accurate stack traces.
LEMMY_UI_SERVE_CSS_MAPS bool false runtime Serves .css.map files when requested. Map files are untracked, run pnpm themes:build to generate and update them.
LEMMY_UI_COMPRESSION bool true runtime Enables response body compression, useful to test on slow connections.

Credits

Icons from Feather Icons.

Code template based off of MrFoxPro's inferno-isomorphic-template.

About

The official web app for lemmy.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 135

Languages