Go to file
Gernot Schulz 2b7e4d3d19
Docker: Add backend variables to .env and templates
This setup chooses to avoid the env_file option available for Docker
Compose files.  Docker has a peculiar way of parsing variables which
makes it, for example, include quotes verbatim.

This is both confusing and incompatible with shells parsing the same
file which is a requirement.  For this reason, the configuration does
not import the complete environment using env_file but assigns variables
explicitly on a need-to-know basis in the YAML file, much like Docker
secrets.

Since the configuration is generated automatically, the burden on users
is the same as with env_file: they only need to edit .env for
customizations.
2020-08-21 08:11:15 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2019-08-06 11:22:13 +02:00
client build.sh: Make build script more useful 2020-08-21 08:11:15 +02:00
docker Docker: Add backend variables to .env and templates 2020-08-21 08:11:15 +02:00
logo Updated improved OpenSlides logo. 2019-09-13 13:25:41 +02:00
server build.sh: Make build script more useful 2020-08-21 08:11:15 +02:00
.gitignore build.sh: Build config from template 2020-08-21 08:11:14 +02:00
.travis.yml Repository restructure 2020-08-21 08:11:13 +02:00
AUTHORS Update AUTHORS 2020-08-21 08:11:15 +02:00
CHANGELOG.rst Updated Changelog for 3.2 2020-07-15 12:45:16 +02:00
DEVELOPMENT.rst Repository restructure 2020-08-21 08:11:13 +02:00
LICENSE Prepared 3.0 release 2019-09-12 23:29:55 +02:00
README.rst build.sh: Make build script more useful 2020-08-21 08:11:15 +02:00

============
 OpenSlides
============

What is OpenSlides?
===================

OpenSlides is a free, Web-based presentation and assembly system for
managing and projecting agenda, motions, and elections of assemblies. See
https://openslides.com for more information.

Installation
============

The main deployment method is using Docker and docker-compose. You only need to
have these tools installed and no further dependencies. If you want a simpler
setup or are interested 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 all

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 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::

    $ cp secrets/admin.env.example secrets/admin.env
    $ vi secrets/admin.env

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``::

    $ docker-compose up
    $ # or:
    $ docker-compose up -d
    $ docker-compose logs
    $ # ...
    $ docker-compose down

Bugs, features and development
================================

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
<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.