============
OpenSlides
============
What is OpenSlides?
===================
OpenSlides is a free, web based presentation and assembly system for
managing and projecting agenda, motions and elections of an assembly. See
https://openslides.com for more information.
Installation
============
The main deployment method is using docker and docker-compose. You just need
both installed and no further dependencies. If you want a simpler setup or are
interesed in developing, please refer to `development instructions <https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_.
Note: This is temporary and will be replace with nice scripts...
First, you have to clone this repository::
$ git clone https://github.com/OpenSlides/OpenSlides.git
$ cd OpenSlides/docker/
You need to build the docker images for the client and server with this script::
$ ./build.sh
You must define a Django secret key in ``secrets/django.env``, for example::
$ printf "DJANGO_SECRET_KEY='%s'\n" \
"$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 64)" > secrets/django.env
We strongly recomment to set an initial admin password and create a second
non-admin user. Both are not strictly required (and a missing admin password will print warnings on the
startup), but if you want to have a secure setup, do::
$ cp secrets/admin.env.example secrets/admin.env
$ cp secrets/user.env.example secrets/user.env
$ vi secrets/admin.env
$ vi secrets/user.env
If the server and client are built, you can use ``docker-compose`` as usual
(except for the ``build`` method)::
$ docker-compose up
$ # or:
$ docker-compose up -d
$ docker-compose logs
$ # ...
$ docker-compose down
OpenSlides is listening on port 8000. It can be changed in the
``docker/docker-compose.yml``.
Bugs, features and development
================================
Feel free to create issues here in GitHub! Please use the right templates for
bugs and features and using them correctly. Pull requests are also welcome; for
a general overview of the development setup refer the `development instructions <https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_.
Used software
=============
OpenSlides uses the following projects or parts of them:
* Several Python packages (see ``server/requirements/production.txt`` and ``server/requirements/big_mode.txt``).
* Several JavaScript packages (see ``client/package.json``)
License and authors
===================
OpenSlides is Free/Libre Open Source Software (FLOSS), and distributed
under the MIT License, see ``LICENSE`` file. The authors of OpenSlides are
mentioned in the ``AUTHORS`` file.