Go to file
root ebd9f6aff9 updated system menu for user menu 2021-09-28 10:59:50 +02:00
config added keycloak python lib 2021-05-21 18:44:25 +02:00
custom.sample updated system menu for user menu 2021-09-28 10:59:50 +02:00
docs Current procedure to upgrade from previous versions 2021-06-21 14:43:54 +02:00
isard-apps@a55af184ed updated system menu for user menu 2021-09-28 10:59:50 +02:00
isard-sso@b4d578918f updated system menu for user menu 2021-09-28 10:59:50 +02:00
.gitignore new flavours 2021-08-30 13:45:45 +02:00
.gitlab-ci.yml Removed: 2021-06-10 19:43:07 +00:00
.gitmodules Fixed submodules to branch master on new installs 2021-06-09 10:52:41 +02:00
LICENSE Upload New File 2021-07-05 15:31:16 +00:00
Makefile new flavours 2021-08-30 13:45:45 +02:00
README.md Moved license and credits to the top 2021-07-21 15:34:30 +00:00
README_en.md Moved license and credits to the top 2021-07-21 15:36:54 +00:00
digitaldemocratic.conf.sample Added custom roles 2021-09-08 00:55:55 +02:00
mkdocs.yml MkDocs+Gitlab setup 2021-02-22 15:43:07 +01:00
requirements.txt MkDocs+Gitlab setup 2021-02-22 15:43:07 +01:00
securize_conf.sh aules menu and fixed typo in securize 2021-05-29 18:14:50 +02:00

README_en.md

English - Català

License

AGPLv3 (https://www.gnu.org/licenses/agpl-3.0.en.html)

Credits

Pilot project of the Democratic Digitalization Plan led by Xnet and promoter families. Software created by IsardVDI and 3iPunt with the collaboration of MaadiX.net, Affac, the Barcelona City Hall and the Barcelona Education Consortium

What's this

This project allows to bring up with ease a full identity provider and many apps to have an environment thought for schools and universities. The project will provide an integrated solution to handle the common environment in education:

  • Classrooms: A moodle instance with custom theme and custom plugins.
  • Cloud drive: A nextcloud instance with custom theme and custom plugins.
  • Documents: An onlyoffice instance integrated with nextcloud.
  • Web pages: A wordpress instance with custom theme and custom plugins.
  • Pad: An etherpad instance integrated with nextcloud.
  • Conferences: A BigBlueButton integrated with moodle and nextcloud. This needs an standalone host right now
  • Forms: A forms nextcloud plugins.
  • ... (some apps are there like jitsi or BigBlueButton but not fully integrated right now)

Administration interface

Now there is an administration interface that allows to easily manager users and groups and keep it in sync between applications. This is done by executing actions on the applications apis.

To easily migrate and populate system there are also two provided imports for users and groups:

  • From Google Admin Console as a JSON dump
  • From a CSV file

This admin interface is now in an alpha status but allows to manage users in sync between keycloak, moodle and nextcloud.

Project status

It works but as we are working on it it will have lots of improvements upcoming months. Some automatizations need to be done, specially with SAML integration in moodle and Keycloak initial personalization.

Your collaboration is wellcome! Just fork this repo and do a PR or open us an issue.

DigitalDemocratic Documentation

This documentation is writed in Markdown using MkDocs+Gitlab.

See docs directory for Markdown files or the auto-built site.

Quick start

cp digitaldemocratic.conf.sample digitaldemocratic.conf

Change default passwords

./securize_conf.sh

Edit digitaldemocratic.conf file variables to suit your needs.

cp -R custom.sample custom

Edit and replace files to personalize system.

make all

NOTE: The SAML Auth in plugin automation status now is:

  • Moodle: Not fully automated.

    1. Login to moodle as admin via: https://moodle.<domain>/login/index.php?saml=off
    2. Go to authentication configuration: https://moodle.<domain>/admin/settings.php?section=manageauths
    3. Enable SAML2 clicking the eye.
    4. Clic on configuration on SAML2
    5. Click on the Regenerate certificate button inside the form. After that go back to SAML2 configuration page.
    6. Click on the Lock certificate button.
    7. In the terminal execute the script to autoconfigure: docker exec isard-sso-admin python3 moodle_saml.py
    8. The last thing is to purge moodle cache: missing docker exec php-fpm7 script, do it through moodle web ui
  • Nextcloud: Fully automated. After finishing the make all should be ready. In case it fails refer to isard-sso/docs.

  • Wordpress: Fully automated. After finishing the make all should be ready. In case it fails refer to isard-sso/docs.

Extended

You can start this project in any docker & docker-compose host (any OS should work). To install those packages in your distro refer to docker & docker-compose in this documentation and in the sysadm folder you have some scripts.

Any distro should work but, if you want to use our sysadm scripts to install docker & docker compose use Debian Buster (10).

Clone and submodules

git clone https://gitlab.com/digitaldemocratic/digitaldemocratic/
cd digitaldemocratic
git submodule update --init --recursive

docker

Refer to the official documentation (https://docs.docker.com/engine/install/) or use our sysadm script if you are on a Debian Buster (10).

docker-compose

Refer to the official documentation (https://docs.docker.com/compose/install/) or use our sysadm script if you are on a Debian Buster (10).

Configuració

Copieu digitaldemocratic.conf.sample a digitaldemocratic.conf i editeu-lo per satisfer les vostres necessitats. Com a mínim (per a desenvolupament) heu d'adaptar la variable de DOMINI al vostre domini arrel.

  • PRODUCCIÓ: Necessiteu un dns multidomini (o redirigeix els subdominis múltiples) a la vostra màquina servidor.
  • Desenvolupament: Heu d'editar el fitxer /etc/hosts i afegir els subdominis només per a propòsits de proves local.

Subdominis

  • Keycloak: sso.<yourdomain.org>
  • Api: api.<yourdomain.org>
  • Moodle: moodle.<yourdomain.org>
  • Nextcloud: nextcloud.<yourdomain.org>
  • Wordpress: wp.<yourdomain.org>
  • Onlyoffice: oof.<yourdomain.org>
  • Etherpad: pad.<yourdomain.org>
  • (opcional) FreeIPA: ipa.<yourdomain.org>

Personalització

Copia recursivament la carpeta custom.sample a custom i edita els fitxers yaml de personalització i de menú i substitueix les imatges.

Inicial el projecte

make all

Integració

Llegiu el SAML_README.md a la carpeta isard-sso/docs per integrar totes les aplicacions. Ara el nextcloud i el wordpress s'haurien d'integrar automàticament amb el Keycloak després d'acabar el make all excepte Moodle que encara necessita alguns passos manuals. i el plugin de Wordpress que cal només activar-lo en acabar.