OpenSlides/README.rst

104 lines
3.3 KiB
ReStructuredText
Raw Normal View History

============
OpenSlides
============
What is OpenSlides?
===================
2021-01-15 08:05:49 +01:00
OpenSlides is a free, web-based presentation and assembly system for
2020-08-14 15:21:35 +02:00
managing and projecting agenda, motions, and elections of assemblies. See
https://openslides.com for more information.
Installation
============
2021-01-15 08:05:49 +01:00
The main deployment method is using Docker and Docker Compose. You only need to
2020-08-14 15:21:35 +02:00
have these tools installed and no further dependencies. If you want a simpler
setup or are interested in developing, please refer to `development
instructions
2021-01-15 08:05:49 +01:00
<DEVELOPMENT.rst>`_.
First, you have to clone this repository::
2021-01-15 08:05:49 +01:00
git clone https://github.com/OpenSlides/OpenSlides.git --recurse-submodules
cd OpenSlides/docker/
**Note about migrating from version 3.3 or earlier**: With OpenSlides 3.4 submodules
and a Docker setup were introduced. If you ran into problems try to delete your
``settings.py``. If you have an old checkout you need to check out the current master
first and initialize all submodules::
2021-01-15 08:05:49 +01:00
git submodule update --init
2020-08-14 15:21:35 +02:00
You need to build the Docker images for the client and server with this
script::
2021-01-15 08:05:49 +01:00
./build.sh all
2020-08-14 15:21:31 +02:00
You must define a Django secret key in ``secrets/django.env``, for example::
2021-01-15 08:05:49 +01:00
printf "DJANGO_SECRET_KEY='%s'\n" \
2020-08-14 15:21:31 +02:00
"$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 64)" > secrets/django.env
2020-08-14 15:21:35 +02:00
We also strongly recommend that you set a secure admin password but it is not
strictly required. If you do not set an admin password, the default login
credentials will be displayed on the login page. Setting the admin password::
2021-01-15 08:05:49 +01:00
cp secrets/adminsecret.env.example secrets/adminsecret.env
vi secrets/adminsecret.env
2020-08-14 15:21:35 +02:00
Afterwards, generate the configuration file::
EXTERNAL_HTTP_PORT=8000 m4 docker-compose.yml.m4 > docker-compose.yml
Finally, you can start the instance using ``docker-compose``::
2021-01-15 08:05:49 +01:00
docker-compose up
# or:
docker-compose up -d
docker-compose logs
# ...
docker-compose down
2020-10-28 08:34:43 +01:00
More settings
-------------
When generating the ``docker-compose.yml``, more settings can be adjusted in the
``docker/.env`` file. All changes for the backend are passed into djangos ``settings.py``.
You can find more information about most settings `here
2021-01-15 08:05:49 +01:00
<server/SETTINGS.rst>`_. To generate
2020-10-28 08:34:43 +01:00
the ``docker-compose.yml`` use this command::
2021-01-15 08:05:49 +01:00
( set -a; source .env; m4 docker-stack.yml.m4 ) > docker-stack.yml
2021-01-15 08:05:49 +01:00
For an advanced database setup refer to the `advanced configuration
<ADVANCED.rst>`_.
Bugs, features and development
================================
2020-08-14 15:21:35 +02:00
Feel free to open issues here on GitHub! Please use the right templates for
bugs and features, and use them correctly. Pull requests are also welcome; for
a general overview of the development setup refer the `development instructions
2021-01-15 08:05:49 +01:00
<DEVELOPMENT.rst>`_.
For security relevant issues **do not** create public issues and refer to
our `security policy <SECURITY.md>`_.
Used software
=============
OpenSlides uses the following projects or parts of them:
2020-08-14 15:21:35 +02:00
* several Python packages (see ``server/requirements/production.txt`` and
``server/requirements/big_mode.txt``)
2016-12-16 22:11:51 +01:00
2020-08-14 15:21:35 +02:00
* 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.