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 # DigitalDemocratic Documentation
This documentation is writed in Markdown using [MkDocs+Gitlab](https://gitlab.com/pages/mkdocs). 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 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. 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): 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 <?php
$CONFIG = array ( $CONFIG = array (
'debug' => true, 'debug' => true,
...
..... ```
### WORDPRESS ### 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. 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* SAML Attribute NameFormat: *Basic*
Single Role Attribute: *On* 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. 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 - 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. - Now the docker applies iptables as per container. Note that we don't have control over this from now on.
- Scalelite - 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)