root 2021-05-06 12:18:45 +02:00
commit 2bbd9a3c64
3 changed files with 71 additions and 7 deletions

View File

@ -1,3 +1,20 @@
# 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)
# Project status
It works but as we are working on it it will have lots of improvements upcoming months. 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](https://gitlab.com/pages/mkdocs).
@ -21,3 +38,51 @@ Wait till apps come up and add plugins:
```
make add-plugins
```
## 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).
### Settings
Copy digitaldemocratic.conf.example to digitaldemocratic.conf and edit to suit your needs. At least (for development) you need to adapt the DOMAIN variable to your root domain.
- PRODUCTION: You need a multidomain dns (or redirect the multiple subdomains) to your host machine.
- DEVELOPMENT: You can just edit your /etc/hosts and add all of them there just for testing purposes.
#### Subdomains
- Keycloak: sso.<yourdomain.org>
- FreeIPA: ipa.<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>
### Bring the project up
```
make up
```
Then wait for the apps to come up (test by accessing the multiple subdomains) and execute:
```
make add-plugins
```
### Integration
Please read the SAML_README.md in de docs folder to integrate all apps.

View File

@ -123,13 +123,12 @@ Now you should be able to test your Keycloak users/roles against nextcloud. If y
Trust me, this is important to be here as many settings/options/checkboxes can be missconfigured if you were not really awaken today.
Edit in the outside mount volume (/opt/digitaldemocratic/db/src/nextcloud/config/config.php) and restart nextcloud container (docker restart isard-apps-nextcloud-app):
```
<?php
$CONFIG = array (
'debug' => true,
.....
...
```
### WORDPRESS
If you already set up Moodle and Nextcloud SAML plugins you are already the master of the universe and I will go faster at describing this one as you want to finish this.
@ -191,4 +190,4 @@ NOTE: Client Id in Keycloak has to be exactly **php-saml**. It could be modified
SAML Attribute NameFormat: *Basic*
Single Role Attribute: *On*
To access as an admin again you should use the url: https://wp.<domain>/wp-login.php?normal
To access as an admin again you should use the url: https://wp.<domain>/wp-login.php?normal

View File

@ -1,4 +1,4 @@
## SAML2 Plugin development environment (moodle)
# SAML2 Plugin development environment (moodle)
NOTE: This could be completely outdated as the current version mounts moodle html source outside the container.
@ -47,4 +47,4 @@ TODO:
- firewall-cmd --zone=docker --add-interface=docker0 --permanent
- Now the docker applies iptables as per container. Note that we don't have control over this from now on.
- Scalelite
- Script creation of base debian with virt-install and then replicate BBBs (partially done)
- Script creation of base debian with virt-install and then replicate BBBs (partially done)