Awesome
Lemmy Modder https://modder.lemmyverse.net/
⚡ A moderation tool for Lemmy community moderators and site admins. ⚡
🎉🎉 We now have cross-version support for 0.19! 🎉🙌
Currently only compatible with 0.18.x instances (and not 0.19.x), as the Lemmy SDK is not backwards-compatible. ☹
Screenshots
Features
- Does not save, proxy or store any of your user credentials or data
- Data is stored in your browsers
localStorage
and is only sent to your Lemmy instance.
- Data is stored in your browsers
- User Registration Panel
- Improved user registrations experience
- More user data when making decision, join date, email, etc.
- Content Reports
- Resolve/Unresolve Reports
- Remove/Restore/Purge Posts & Comments
- Ban/Unban Users (from Community or Site)
- Lock/Unlock Posts
- View Mod Log
- See all actions taken by mods on the instance
- Filter by local instance actions
- Quick Switch Accounts on different Lemmy instances
User Types
There are 3 types of users in Lemmy Modder: user, mod and admin
This is determined based on the amount of moderated communities you manage.
Hosting Options
You can either use the hosted option at https://modder.lemmyverse.net/ or host your own instance.
Running Own Instance with Docker Compose
You will need docker & docker-compose installed on your server.
- Add this (service) to your docker-compose alongside the lemmy services, or wherever you like:
## ... your networks and volumes from lemmy should stay here
services:
## ... your other lemmy services should stay here
## this is the lemmy modder container, you can change port 9696 to wehatever you like
lemmy-modder:
image: ghcr.io/tgxn/lemmy-modder:latest
restart: unless-stopped
ports:
- 9696:80
environment:
LOCK_DOMAIN: modder.example.com # optionally locks the domain that can be used with this instance
- Bring up the new container
docker-compose up -d lemmy-modder
- Setup your reverse proxy to proxy requests for
modder.example.com
to the new container on port80
.
If you use Traefik, the labels will be something like this:
networks:
- traefik-net
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-net"
- "traefik.http.services.lemmy_mod.loadbalancer.server.port=80"
# internet https
- "traefik.http.routers.lemmy_mod_https_net.rule=Host(`modder.example.com`)"
- "traefik.http.routers.lemmy_mod_https_net.entrypoints=https"
- "traefik.http.routers.lemmy_mod_https_net.tls.certResolver=SSL_RESOLVER"
# internet http redirect
- "traefik.http.routers.lemmy_mod_http_redirect_net.rule=Host(`modder.example.com`)"
- "traefik.http.routers.lemmy_mod_http_redirect_net.entrypoints=http"
- "traefik.http.routers.lemmy_mod_http_redirect_net.middlewares=redirect_https@file"
There are no more steps, as there is no users or databases.
Development
Setup Development Environment
Just make sure you have these tools installed:
- git
- nodejs & npm (use nvm to install
v18.17.0
)
Steps
- Clone this Github repo locally, and switch to the cloned directory
git clone https://github.com/tgxn/lemmy-modder.git && cd lemmy-modder
- Install the Node Dependencies
npm i
- Start the dev server
npm start
- Open http://localhost:9696 in your browser
Testing Docker Image
- Build the docker image
docker build -t lemmy-modder:local .
- Run the docker image (with lock example)
docker run --rm --env LOCK_DOMAIN="lemmy.tgxn.net" -p 9696:80 lemmy-modder:local
Credits
Lemmy Devs https://github.com/LemmyNet
Logo made by Andy Cuccaro (@andycuccaro) under the CC-BY-SA 4.0 license.