Merge pull request #5853 from normanjaeckel/HistoryInformationChanges

Updated README
This commit is contained in:
Finn Stutzenstein 2021-02-05 13:47:31 +01:00 committed by GitHub
commit f57fe05e26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 58 additions and 32 deletions

View File

@ -4,10 +4,10 @@ Advanced configuration
Docker Swarm Mode Docker Swarm Mode
----------------- -----------------
OpenSlides may also be deployed in Swarm mode. Distributing instances over OpenSlides may also be deployed in Swarm mode. Distributing instances over
multiple nodes may increase performance and offer failure resistance. multiple nodes may increase performance and offer failure resistance.
An example configuration file, ``docker-stack.yml.m4``, is provided. Unlike An example configuration file, ``docker-stack.yml.m4``, is provided. Unlike
the Docker Compose setup, this configuration will most likely need to be the Docker Compose setup, this configuration will most likely need to be
customized, especially its placement constraints and database-related customized, especially its placement constraints and database-related
preferences. preferences.
@ -37,14 +37,14 @@ please familiarize yourself with `repmgr <https://repmgr.org/>`_.
Backups Backups
------- -------
All important data is stored in the database. Additionally, the project All important data is stored in the database. Additionally, the project
directory should be included in backups to ensure a smooth recovery. directory should be included in backups to ensure a smooth recovery.
The primary database usually runs in the ``pgnode1`` service (but see `Database The primary database usually runs in the ``pgnode1`` service (but see `Database
Configuration`_ above). Configuration`_ above).
In some cases, it may be sufficient to generate SQL dumps with ``pg_dump`` In some cases, it may be sufficient to generate SQL dumps with ``pg_dump``
through ``docker exec`` to create backups. However, for proper incremental through ``docker exec`` to create backups. However, for proper incremental
backups, the host system can backup the cluster's data directory and WAL backups, the host system can backup the cluster's data directory and WAL
archives. archives.

View File

@ -3,21 +3,21 @@
======================== ========================
Check requirements Check requirements
''''''''''''''''''''' ''''''''''''''''''
- ``docker`` - ``docker``
- ``docker-compose`` - ``docker-compose``
- ``git`` - ``git``
- ``make`` - ``make``
**Note about migrating from development **Note about migrating from development setups before version 3.4**: You must set the
setups before version 3.4**: You must set the ``OPENSLIDES_USER_DATA_DIR`` variable in ``OPENSLIDES_USER_DATA_DIR`` variable in your ``server/personal_data/var/settings.py``
your ``server/personal_data/var/settings.py`` to ``'/app/personal_data/var'``. Another to ``'/app/personal_data/var'``. Another way is to just delete this file. It is
way is to just delete this file. It is recreated with the right paths afterwards. recreated with the right paths afterwards.
Get OpenSlides source code Get OpenSlides source code
''''''''''''''''''''''''''''' ''''''''''''''''''''''''''
Clone current master version from `OpenSlides GitHub repository Clone current master version from `OpenSlides GitHub repository
<https://github.com/OpenSlides/OpenSlides/>`_:: <https://github.com/OpenSlides/OpenSlides/>`_::
@ -30,7 +30,8 @@ When updating the repository, submodules must be updated explicitly, too::
git submodule update git submodule update
Start the development setup Start the development setup
'''''''''''''''''''''''''''''' '''''''''''''''''''''''''''
Use `make` to start the setup:: Use `make` to start the setup::
make run-dev make run-dev
@ -41,11 +42,14 @@ To stop the setup press Ctrl+C. To clean up the docker containers run::
make stop-dev make stop-dev
Running the test cases Running the test cases
''''''''''''''''''''''' ''''''''''''''''''''''
For all services in submodules check out the documentation there. For all services in submodules check out the documentation there.
Server tests and scripts Server tests and scripts
------------------------- ------------------------
You need to have python (>=3.8) and python-venv installed. Change your workdirectory to the server:: You need to have python (>=3.8) and python-venv installed. Change your workdirectory to the server::
cd server cd server
@ -69,7 +73,8 @@ To deactivate it type ``deactivate``. Running all tests and linters::
pytest tests/ pytest tests/
Client tests Client tests
------------- ------------
You need `node` and `npm` installed. Change to the client's directory. For the first time, install all dependencies:: You need `node` and `npm` installed. Change to the client's directory. For the first time, install all dependencies::
cd client/ cd client/

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2011-2019 Authors of OpenSlides, see AUTHORS Copyright (c) 2011-2021 Authors of OpenSlides, see AUTHORS
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -9,19 +9,22 @@ OpenSlides is a free, web-based presentation and assembly system for
managing and projecting agenda, motions, and elections of assemblies. See managing and projecting agenda, motions, and elections of assemblies. See
https://openslides.com for more information. https://openslides.com for more information.
Installation Installation
============ ============
The main deployment method is using Docker and Docker Compose. You only need to The main deployment method is using Git, Docker and Docker Compose. You only need
have these tools installed and no further dependencies. If you want a simpler to have these tools installed and no further dependencies. If you want a simpler
setup or are interested in developing, please refer to `development setup or are interested in developing, please refer to `development
instructions instructions <DEVELOPMENT.rst>`_.
<DEVELOPMENT.rst>`_.
Get OpenSlides
--------------
First, you have to clone this repository:: First, you have to clone this repository::
git clone https://github.com/OpenSlides/OpenSlides.git --recurse-submodules git clone https://github.com/OpenSlides/OpenSlides.git --recurse-submodules
cd OpenSlides/docker/ cd OpenSlides/
**Note about migrating from version 3.3 or earlier**: With OpenSlides 3.4 submodules **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 and a Docker setup were introduced. If you ran into problems try to delete your
@ -30,8 +33,17 @@ first and initialize all submodules::
git submodule update --init git submodule update --init
You need to build the Docker images for the client and server with this Setup Docker images
script:: -------------------
You need to build the Docker images for the client and server and have to setup some
configuration.
First go to ``docker`` subdirectory::
cd docker
Then build all images with this script::
./build.sh all ./build.sh all
@ -41,50 +53,56 @@ You must define a Django secret key in ``secrets/django.env``, for example::
"$(tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 64)" > secrets/django.env "$(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 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 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:: credentials will be displayed on the login page. Setting the admin password::
cp secrets/adminsecret.env.example secrets/adminsecret.env cp secrets/adminsecret.env.example secrets/adminsecret.env
vi secrets/adminsecret.env vi secrets/adminsecret.env
Afterwards, generate the configuration file:: Afterwards, generate the configuration file::
EXTERNAL_HTTP_PORT=8000 m4 docker-compose.yml.m4 > docker-compose.yml m4 docker-compose.yml.m4 > docker-compose.yml
Finally, you can start the instance using ``docker-compose``:: Finally, you can start the instance using ``docker-compose``::
docker-compose up docker-compose up
# or:
OpenSlides runs on https://localhost:8000/.
Use can also use daemonized instance::
docker-compose up -d docker-compose up -d
docker-compose logs docker-compose logs
# ...
docker-compose down docker-compose down
More settings More settings
------------- -------------
When generating the ``docker-compose.yml``, more settings can be adjusted in the 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``. ``docker/.env`` file. All changes for the backend are passed into djangos ``settings.py``.
You can find more information about most settings `here You can find more information about most settings in the `settings documentation
<server/SETTINGS.rst>`_. To generate <server/SETTINGS.rst>`_. To generate the ``docker-compose.yml`` use this command::
the ``docker-compose.yml`` use this command::
( set -a; source .env; m4 docker-stack.yml.m4 ) > docker-stack.yml cd docker
( set -a; source .env; m4 docker-compose.yml.m4 ) > docker-compose.yml
For an advanced database setup refer to the `advanced configuration For an advanced database setup refer to the `advanced configuration
<ADVANCED.rst>`_. <ADVANCED.rst>`_.
Bugs, features and development Bugs, features and development
================================ ================================
Feel free to open issues here on GitHub! Please use the right templates for 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 bugs and features, and use them correctly. Pull requests are also welcome. For
a general overview of the development setup refer the `development instructions a general overview of the development setup refer the `development instructions
<DEVELOPMENT.rst>`_. <DEVELOPMENT.rst>`_.
For security relevant issues **do not** create public issues and refer to For security relevant issues **do not** create public issues and refer to
our `security policy <SECURITY.md>`_. our `security policy <SECURITY.md>`_.
Used software Used software
============= =============
@ -95,6 +113,7 @@ OpenSlides uses the following projects or parts of them:
* several JavaScript packages (see ``client/package.json``) * several JavaScript packages (see ``client/package.json``)
License and authors License and authors
=================== ===================

View File

@ -63,6 +63,7 @@ POSTFIX_RELAYHOST=
ENABLE_SAML= ENABLE_SAML=
ENABLE_ELECTRONIC_VOTING= ENABLE_ELECTRONIC_VOTING=
DEMO_USERS= DEMO_USERS=
# Connections # Connections
AUTOUPDATE_DELAY= AUTOUPDATE_DELAY=
CONNECTION_POOL_LIMIT= CONNECTION_POOL_LIMIT=
@ -87,6 +88,7 @@ REDIS_PORT=
REDIS_SLAVE_HOST= REDIS_SLAVE_HOST=
REDIS_SLAVE_PORT= REDIS_SLAVE_PORT=
REDIS_SLAVE_WAIT_TIMEOUT= REDIS_SLAVE_WAIT_TIMEOUT=
# Logging # Logging
DJANGO_LOG_LEVEL= DJANGO_LOG_LEVEL=
OPENSLIDES_LOG_LEVEL= OPENSLIDES_LOG_LEVEL=