A mailing list server in ruby. Easy to setup.
Go to file
Arthur POULET 233613b5c8 Factorize all validation system
- Validation system is implemented as a simple mail when creating the
  email subscription; then it is simply a set-permissions
- Implement set-permissions
- Improve attribute parsing security and quality
- Improve emails clarity
- Improve permissions security
- Improve some logs for security
- Rename admin to operator to split the server admin from ML op
- Stop using inline functions as emacs ruby-mode do not support it yet
2022-11-19 17:22:12 +01:00
bin Improve structure for sub/unsub and permissions 2022-11-19 12:46:23 +01:00
deploy Add some infos for deploying service 2022-11-18 19:26:24 +01:00
lib Factorize all validation system 2022-11-19 17:22:12 +01:00
.gitignore Implement HELP 2022-11-19 11:26:37 +01:00
Gemfile Implement HELP 2022-11-19 11:26:37 +01:00
Gemfile.lock Implement HELP 2022-11-19 11:26:37 +01:00
README.md Implement HELP 2022-11-19 11:26:37 +01:00
empty.env Add a few more configuration var 2022-11-18 17:51:08 +01:00

README.md

mailinglist.rb

Features

  • Receive new message and send it
  • Have a database of mailinglists with name and users
  • Web interface to access archives
  • ACL to restrict interactions with the system
  • Install documentation
  • Systemd service
  • AUR package
  • Configuration for everything
  • Robust codebase for extensibility
  • Robust network (handle network loss etc.)
  • Inbox cleanup
  • Moderation toolbox and email validation before distribution

Deploy from sources

  • Note there is a sample of systemd service you may use for your server in /deploy/

Download

git clone https://git.sceptique.eu/Sceptique/mailinglist.rb --depth 1
cd mailinglist.rb

Install dependencies

System dependencies: ruby 3.1.2, sqlite3

bundle install

Configure

Copy and fill all the env variables in .env

cp empty.env .env
edit .env

Setup the database

bin/db_migrate

Start

You may test it with

bin/distributor

Dev & play localy

After deploying it, there are some tools:

  • bin/db_seed to generate some data