Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tchapi/mlmmj-simple-web-interface
A very simple web frontend in node for mlmmj (http://mlmmj.org)
https://github.com/tchapi/mlmmj-simple-web-interface
bootstrap mail mailserver mlmmj nodejs
Last synced: 8 days ago
JSON representation
A very simple web frontend in node for mlmmj (http://mlmmj.org)
- Host: GitHub
- URL: https://github.com/tchapi/mlmmj-simple-web-interface
- Owner: tchapi
- License: mit
- Created: 2015-02-08T19:50:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-15T23:04:37.000Z (5 months ago)
- Last Synced: 2024-10-18T10:46:15.167Z (21 days ago)
- Topics: bootstrap, mail, mailserver, mlmmj, nodejs
- Language: JavaScript
- Homepage: https://github.com/tchapi/mlmmj-simple-web-interface
- Size: 349 KB
- Stars: 29
- Watchers: 2
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - tchapi/mlmmj-simple-web-interface - A very simple web frontend in node for mlmmj (http://mlmmj.org) (nodejs)
README
# Mlmmj Simple Web Interface
A very simple web frontend in node for [mlmmj](http://mlmmj.org/).> **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"
```## Structure
This is a Node.js app, that uses :
* [Express](http://expressjs.com/) as a global framework, with sessions and flash messages
* [Consolidate](https://github.com/tj/consolidate.js) & [Nunjucks](https://mozilla.github.io/nunjucks) as the template engine
* [Passportjs](http://passportjs.org) for the authentification
* [Bootstrap](http://getbootstrap.com) for the frontendAnd some local modules like `ConfigParser` (_cf. source code if you want to see more_)
## Functionalities* 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)
## Screenshots
![list actions](https://raw.githubusercontent.com/tchapi/mlmmj-simple-web-interface/master/screenshots/image1.png "Mailing list actions")
![control parameters](https://raw.githubusercontent.com/tchapi/mlmmj-simple-web-interface/master/screenshots/image2.png "Control parameters")## Configuration
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
## Authentification
The whole app needs authentication.
Authentification is managed by [passportjs](http://passportjs.org). The username and password of users are stored in the `config.json` file :
```json
{
//...
"users": [
{ "username": "admin", "password": "secret"},
{ "username": "jon", "password": "pass"}
],
//...
}
```## Licence
MIT ! See the [licence](https://github.com/tchapi/mlmmj-simple-web-interface/blob/master/LICENSE) file.
## To Do
* 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 ?