Merge pull request #5853 from normanjaeckel/HistoryInformationChanges
Updated README
This commit is contained in:
commit
f57fe05e26
@ -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.
|
||||||
|
|
||||||
|
@ -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/
|
||||||
|
2
LICENSE
2
LICENSE
@ -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
|
||||||
|
53
README.rst
53
README.rst
@ -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
|
||||||
===================
|
===================
|
||||||
|
|
||||||
|
@ -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=
|
||||||
|
Loading…
Reference in New Issue
Block a user