Home

Awesome

<!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 -->

<a name="readme-top"></a>

<!-- *** Thanks for checking out the Best-README-Template. If you have a suggestion *** that would make this better, please fork the repo and create a pull request *** or simply open an issue with the tag "enhancement". *** Don't forget to give the project a star! *** Thanks again! Now go create something AMAZING! :D --> <!-- PROJECT SHIELDS --> <!-- *** I'm using markdown "reference style" links for readability. *** Reference links are enclosed in brackets [ ] instead of parentheses ( ). *** See the bottom of this document for the declaration of the reference variables *** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. *** https://www.markdownguide.org/basic-syntax/#reference-style-links -->

Contributors Forks Stargazers Issues Image Build

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/cr4yfish/nemmy"> <img src="https://i.imgur.com/OzAB6Y0.png" alt="Logo" width="80" height="80"> </a> <h3 align="center">Nemmy</h3> <p align="center"> The Neat Lemmy App for the Web. This project is focused on building a Lemmy App with the best possible User Experience. <br /> <br /> <a href="https://nemmy.app/">Website</a> · <a href="https://play.google.com/store/apps/details?id=app.nemmy.twa">Google Play Store</a> · <a href="https://lemmy.world/c/nemmy">Lemmy Community</a> . <a href="https://github.com/Cr4yfish/Nemmy/issues">Report Bug</a> · <a href="https://github.com/Cr4yfish/Nemmy/issues">Request Feature</a> </p> </div> <div style="width: 100%; display: flex; justify-content: center; gap: 1rem;"> <img src="https://i.imgur.com/OxkGnC4.png" style="height: 500px; width: auto;" > <img src="https://i.imgur.com/twzhIFG.png" style="height: 500px; width: auto;" > <img src="https://i.imgur.com/SGJFQuo.png" style="height: 500px; width: auto;" > <img src="https://i.imgur.com/BljmUFd.png" style="height: 500px; width: auto;" > <img src="https://i.imgur.com/OFc7Va7.png" style="height: 500px; width: auto;" > <img src="https://i.imgur.com/8tHc7vx.png" style="height: 500px; width: auto;" > </div> <!-- ABOUT THE PROJECT -->

Notice

Nemmy will continue being down for an undefined amount of time since Vercel has suspended my account and will only allow me to continue deploying if I pay 20€/month for a pro account. I don't have that kind of money so all of my Web-projects (including Nemmy) will be on-hold until I win the lottery or something lol.

As for why I'm not moving my projects somewhere else: I have no motivation left after that whole fiasco. Maybe I'll come back someday - might even be tomorrow, I don't know yet.

About The Project

Nemmy is a Progressive Web App (PWA) for Lemmy. Lemmy is kinda like Reddit, but federated so a CEO can't just fuck over everyone. The goal of Nemmy is to make using Lemmy on multiple devices a seamless experience.

Right now Nemmy is in very early Development, however, feel free to visit the Website once in a while to see what's changed.

If you like the idea of Nemmy, this is the perfect opportunity for you to influence design decisions by submitting Feedback or Feature requests. You can do that on here in the Issues Tab or the Nemmy Community on Lemmy.

Why Nemmy?

There are other good Apps for Lemmy out there, even other PWAs like wefwef.app. What singles out Nemmy is not focusing on a single devices (e.g. Mobile-only design like wefwef or Desktop Only design like the default Lemmy Web UI) but making the user experience equally good on most devices.

What's Lemmy?

The short version is, that Lemmy is similar to Reddit. The main difference is that Lemmy is Open-Source and Federated. This means that there is no single huge "Lemmy Server" but many smaller "instances" of Lemmy hosted by different people. These instances can communicate with each other, so you can follow people on other instances and see their posts and comments.

Built With

Support

Creating and hosting Nemmy on fast infrastructure costs time (money) and money. If you want to support me, you can do so by donating. Since this is a passion project, I don't expect or want to earn any money from it. All of the donated money will be used exclusively to pay for the server and domain costs.

Getting started

Production Setup

Here you can choose between hosting it the conventional way and using the Docker image.

Conventional

Follow the development setup steps but instead of running npm run dev you run npm run build and then npm run start

Docker

There are multiple ways to do this. Here is one example using a Dockerfile.

  1. Get the Docker Image link here
  2. Create the Dockerfile
FROM ghcr.io/cr4yfish/nemmy:[latest version] # :latest is not supported yet
  1. Build and run
docker build -t nemmy .
docker run nemmy

Nemmy will now run on the local network. To be able to access the server from the internet, you'll have to open the port 3000.

Setting your instance as default

In case you're hosting Nemmy as an UI for your own instance, you might want to set it as the default instance.

To do that, you can set the NEXT_PUBLIC_DEFAULT_INSTANCE environment variable to your instance's URL.

The instsance URL should be in the format of https://some.instance, for example https://lemmy.ml

With Docker

docker run -e NEXT_PUBLIC_DEFAULT_INSTANCE=YOUR_INSTANCE nemmy

Without Docker

NEXT_PUBLIC_DEFAULT_INSTANCE=YOUR_INSTANCE npm run start

Development Setup

To setup Nemmy for development, there are only a few steps to take.

  1. Download and install Node.js
  2. (Optional) Create a fork if you intend to contribute to Nemmy
  3. Clone the Repository
  4. Install dependencies
npm i
  1. Run the development server
npm run dev

Roadmap for Q3 2023

Ideas for Q4+

FOSS

Security

To make sure Nemmy is safe to use, there are multiple code scanners scanning every commit. Humans can also scan the code since it's 100% open source and create a security issue.