A very simple web frontend in node for mlmmj.
Attention : run as
list
:
When you run the app, you have to run it as the
list
user if you want to have access to mlmmj's files :
sudo su list -c "node index.js"
This is a Node.js app, that uses :
- Express as a global framework, with sessions and flash messages
- Consolidate & Nunjucks as the template engine
- Passportjs for the authentification
- Bootstrap for the frontend
And some local modules like ConfigParser
(cf. source code if you want to see more)
-
Parameters
The app allows to modify all tunables (files present in /control) : values, lists, texts and booleans
-
Subscribers
The app allows to modify all tunables (files present in /control) : values, lists, texts and booleans
-
Archives
There is also a very simplist archives browser that can display archives by year, month, day, and individual files. No thread yet, though (see TODO)
Some options are available in the config.json
file. Before launching the app,you must copy config.json.dist
to config.json
and change the desired settings :
-
Server
The settings allows you to change the port that the app use if you want to reverse-proxy it afterwards (and you should)
-
App name
The app name is displayed in the navbar, on the left
-
Mlmmj directory path
This path is the one that mlmmj uses to store all the content and parameters. Should be the default
/var/spool/mlmmj
unless you manually changed it
The whole app needs authentication.
Authentification is managed by passportjs. The username and password of users are stored in the config.json
file :
{
//...
"users": [
{ "username": "admin", "password": "secret"},
{ "username": "jon", "password": "pass"}
],
//...
}
MIT ! See the licence file.
- Implement other functions such as :
- i18n texts editing
- Browse Archives by thread
- Improve Archives altogether (subject of mail in lists, etc)
- Add a button to restart exim / postfix ?