Awesome
<div align="center"> <image src="static/images/logo.svg" height="80"> <hr>A lightweight alternative frontend for Reddit.
<a href="https://eddrit.com"><img src="https://raw.githubusercontent.com/corenting/eddrit/master/doc/screenshots/subreddit.png" width="80%"></a>
</div>Official instance: eddrit.com
- Lightweight
- No ads
- Compact design (closer to old.reddit.com than to the redesign)
- Better mobile support
- No need to register for an OAuth2 identifier for self-hosting: mimic the official Android app by default to bypass rate-limiting.
Inspired by Nitter, an alternative frontend for Twitter.
Written with Python & Starlette.
Usage
You can use the official instance at eddrit.com.
Like Nitter, the URLs are identical to reddit, so if you can just replace reddit.com
by eddrit.com
to open a Reddit page in eddrit.
Deployment (for self-hosting)
You can also deploy eddrit for yourself if you don't want to use the public instance.
Docker (recommended)
You can get the image from either:
- Docker Hub as
corentingarcia/eddrit
- ghcr.io as
ghcr.io/corenting/eddrit
There are multiple tags:
latest
for the latest stable tagged release (recommended)dev
for the latest development version (the latest commit on the master branch)- Version tags (like
0.1.1
,0.1.2
) for specific versions
The following architectures are supported by the Docker image:
linux/amd64
linux/i386
linux/arm64
linux/arm/v7
linux/ppc64le
Without Docker
If you know how to deploy a Python ASGI application, you can also deploy it directly without Docker.
For example, with uvicorn:
- Make sure Python >=3.12 is installed on your system as it's the minimum version supported by eddrit.
- Install Poetry which is used to manage dependencies of the project.
- Download/clone the repository and run
poetry install --only main
to install the application. - You can then run the app through uvicorn, for example with the following command:
poetry run uvicorn eddrit.app:app
Configuration
The application can be configured through environment variables (if a .env
file is present, it will also be read).
eddrit needs a valkey instance to work. You need specify the connection url with
the VALKEY_URL
environment variable (or in your env file).
The following configuration parameters are also available:
DEBUG
(default isfalse
): enable starlette debug mode. Should not be needed outside of development.LOG_LEVEL
(default isWARNING
): only log if the message level is superior or equal to this level.
Donations
If you wish to support the app, donations are possible here.
Credits
- Bootstrap Icons for the icons used in the frontend
- dash.js: library used for DASH videos in the frontend
- Pico.css: CSS framework used for the frontend
- redlib: for the backend Android app spoofing code
- Video.js: the library used for the videos in the frontend