ASF Members Meeting Web Chat Service
This is a simple public-only web chat service for the Apache Software Foundation. It's intended use is our annual members' meeting, and thus it's tied to our OAuth portal (but can be modified to work with any oauth portal).
For simplicity's sake, and to make it more performant, all chat rooms are public and there are no private messaging features.
- Clone the git repo
- Adjust mm.yaml to your liking (especially the callback URLs and the admins)
- install pips:
pip3 install -r requirements.txt
- Run the server:
python3 main.py
If you're using httpd as an TLS terminator, you will need to enable both mod_proxy
and mod_proxy_wstunnel
and have the following configuration snippet in your VirtualHost stanza:
ProxyPass /chat ws://localhost:8080/chat
ProxyPass / http://localhost:8080/
To reset the chat and quorum history, simply delete asfmm.sqlite and restart the service.
On a normal machine (single-core AMD EPYC for instance), the service can handle around 1,500 concurrent users, assuming the TLS terminator has been adjusted to allow such.
This project uses moment.js and tribute for its user interface. Many thanks for the cool features, people!