What is jawanndenn?
jawanndenn is libre software developed by Sebastian Pipping. The server code is licensed under the GNU Affero GPL license version 3 or later whereas the client code is licensed under the GNU GPL license version 3 or later.
To install the latest release without cloning the Git repository:
# pip install jawanndenn
To install from a Git clone:
# python setup.py install --user
Deployment with Apache mod_wsgi
To use jawanndenn with
mod_wsgi, there is file
jawanndenn/app.wsgi For how to integrate
with the Apache configuration, please check the the related
documentation of bottle.
Run with docker
You can build a docker image using
docker-compose build and run it with
Serialized data is saved to
~/.jawanndenn-docker/ outside the container (only if the server shuts down). The app is served on
Command line usage
When installed, invocation is as simple as
During development, you may want to run jawanndenn from the Git clone using
# PYTHONPATH=. python jawanndenn/main.py --debug
Currently supported arguments are:
# jawanndenn --help usage: jawanndenn [-h] [--debug] [--host HOST] [--port PORT] [--url-prefix PATH] [--database-pickle FILE] [--server BACKEND] [--max-polls COUNT] [--max-votes-per-poll COUNT] optional arguments: -h, --help show this help message and exit --debug Enable debug mode (default: disabled) --host HOST Hostname or IP address to listen at (default: 127.0.0.1) --port PORT Port to listen at (default: 8080) --url-prefix PATH Path to prepend to URLs (default: "") --database-pickle FILE File to write the database to (default: ~/jawanndenn.pickle) --server BACKEND bottle backend to use (default: tornado); as of this writing bottle supports: auto, bjoern, diesel, eventlet, gae, gevent, gunicorn, meinheld, paste, twisted, waitress, wsgiref. For the most current list, please check the documentation of bottle. limit configuration: --max-polls COUNT Maximum number of polls total (default: 1000) --max-votes-per-poll COUNT Maximum number of votes per poll (default: 40)
- Libre software to host yourself, unlike Doodle
- More simple, sexy and/or fun than libre alternatives, in alphabetic order:
- Keep things simple, usable, maintainable
- Support invocation from the command line, e.g. for spontaneous polls in a LAN
- Have security in mind
Please check out the list of upcoming features.
- Use of heavy frameworks: building blocks only
- Read availability from calendars
Special thanks to Arne Maier (@KordonDev) for reporting an XSS vulnerability, responsibly.