Merge branch 'develop'
commit
2bd7667f9f
19
README.md
19
README.md
|
@ -71,6 +71,12 @@ cp -R custom.sample custom
|
|||
|
||||
Edita i substitueix els fitxers per personalitzar el sistema.
|
||||
|
||||
La primera vegada executa:
|
||||
```
|
||||
./dd-ctl update-repo
|
||||
```
|
||||
|
||||
I després:
|
||||
```
|
||||
./dd-ctl all
|
||||
```
|
||||
|
@ -134,11 +140,22 @@ Copieu digitaldemocratic.conf.exemple a digitaldemocratic.conf i editeu-lo per
|
|||
Copia recursivament la carpeta *custom.sample* a *custom* i edita els fitxers yaml de personalització i menú i substitueix les imatges.
|
||||
|
||||
### Iniciar el projecte
|
||||
La primera vegada (i si voleu actualitzar a la última versió posteriorment) executeu:
|
||||
```
|
||||
./dd-ctl update-repo
|
||||
```
|
||||
I després
|
||||
```
|
||||
./dd-ctl all
|
||||
```
|
||||
|
||||
Posteriorment podreu iniciar o aturar amb:
|
||||
```
|
||||
./dd-ctl down
|
||||
./dd-ctl up
|
||||
```
|
||||
|
||||
### Integració
|
||||
|
||||
Llegiu el fitxer [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/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 Wordpress que cal només activar el connector.
|
||||
Llegiu el fitxer [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/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.
|
||||
|
||||
|
|
42
README_en.md
42
README_en.md
|
@ -71,6 +71,11 @@ cp -R custom.sample custom
|
|||
|
||||
Edit and replace files to personalize system.
|
||||
|
||||
The first time execute:
|
||||
```
|
||||
./dd-ctl update-repo
|
||||
```
|
||||
And then:
|
||||
```
|
||||
./dd-ctl all
|
||||
```
|
||||
|
@ -111,14 +116,15 @@ Refer to the official documentation (https://docs.docker.com/engine/install/) or
|
|||
|
||||
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ó
|
||||
### Setup
|
||||
|
||||
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.
|
||||
Copy digitaldemocratic.conf.sample to digitaldemocratic.conf and edit to satisfy your needs. At least (to development) you should adapt
|
||||
the DOMINI envvar to your root domain.
|
||||
|
||||
- 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.
|
||||
- PRODUCTION: You'll need a multidomain dns (or redirect all the subdomains) to your server IP.
|
||||
- DEVELOPMENT: You'll have to edit your /etc/hosts and add all the required domains to your development server IP.
|
||||
|
||||
#### Subdominis
|
||||
#### Subdomains
|
||||
- Keycloak: sso.<yourdomain.org>
|
||||
- Api: api.<yourdomain.org>
|
||||
- Moodle: moodle.<yourdomain.org>
|
||||
|
@ -126,18 +132,32 @@ Copieu digitaldemocratic.conf.sample a digitaldemocratic.conf i editeu-lo per s
|
|||
- Wordpress: wp.<yourdomain.org>
|
||||
- Onlyoffice: oof.<yourdomain.org>
|
||||
- Etherpad: pad.<yourdomain.org>
|
||||
- (opcional) FreeIPA: ipa.<yourdomain.org>
|
||||
- (optional) FreeIPA: ipa.<yourdomain.org>
|
||||
|
||||
### Personalització
|
||||
### Customization
|
||||
|
||||
Copia recursivament la carpeta *custom.sample* a *custom* i edita els fitxers yaml de personalització i de menú i substitueix les imatges.
|
||||
Recursively copy the *custom.sampl* folder to *custom* and edit the yaml personalization files and substitute the image.
|
||||
|
||||
### Inicial el projecte
|
||||
### Start the project
|
||||
|
||||
The first time (and to upgrade later) you should execute:
|
||||
```
|
||||
./dd-ctl update-repo
|
||||
```
|
||||
And after:
|
||||
```
|
||||
./dd-ctl all
|
||||
```
|
||||
|
||||
### Integració
|
||||
Then you can control the up/down:
|
||||
```
|
||||
./dd-ctl down
|
||||
./dd-ctl up
|
||||
```
|
||||
|
||||
Llegiu el [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/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.
|
||||
### Integration
|
||||
|
||||
Read the [SAML_README.md](https://gitlab.com/isard/isard-sso/-/blob/master/docs/SAML_README.md) in isard-sso/docs folder
|
||||
to known more about setting and customizing applications, specially if the SSO fails to get correctly configured the
|
||||
first time.
|
||||
|
||||
|
|
112
dd-ctl
112
dd-ctl
|
@ -8,8 +8,9 @@ if [ -z "$OPERATION" ]; then
|
|||
set +x
|
||||
echo "Missing command."
|
||||
echo " Example: ./dd.ctl [operation]"
|
||||
echo " Bring the project up: ./dd-ctl all"
|
||||
echo "Bring the project up without changing submodules: ./dd-ctl all-develop"
|
||||
echo " Update repository: ./dd-ctl update-repo [branch-name] (defaults to master)"
|
||||
echo " Bring the current project up: ./dd-ctl all"
|
||||
echo " Build the compose files: ./dd-ctl build"
|
||||
echo " Start the project when stopped: ./dd-ctl up"
|
||||
echo " Stop the project when started: ./dd-ctl down"
|
||||
echo " Apply customizations: ./dd-ctl customize"
|
||||
|
@ -28,15 +29,14 @@ cp digitaldemocratic.conf .env
|
|||
CUSTOM_PATH=$(pwd)
|
||||
. ./.env
|
||||
|
||||
prepare_submodules(){
|
||||
if [ ! "$BRANCH" = "develop" ]; then
|
||||
git submodule update --init --recursive
|
||||
cd isard-apps && git fetch && git reset --hard origin/$BRANCH && cd ..
|
||||
cd isard-sso && git fetch && git reset --hard origin/$BRANCH && cd ..
|
||||
fi
|
||||
update_repo(){
|
||||
git fetch && git reset --hard origin/$BRANCH
|
||||
git submodule update --init --recursive
|
||||
cd isard-apps && git fetch && git reset --hard origin/$BRANCH && cd ..
|
||||
cd isard-sso && git fetch && git reset --hard origin/$BRANCH && cd ..
|
||||
}
|
||||
|
||||
prepare(){
|
||||
build(){
|
||||
## Prepare apps environment
|
||||
cp .env isard-apps/.env
|
||||
echo "CUSTOM_PATH=$CUSTOM_PATH" >> isard-apps/.env
|
||||
|
@ -87,10 +87,6 @@ prepare(){
|
|||
config > apps.yml
|
||||
docker-compose -f sso.yml -f apps.yml config > docker-compose.yml
|
||||
rm sso.yml apps.yml
|
||||
|
||||
}
|
||||
|
||||
build(){
|
||||
docker-compose build
|
||||
}
|
||||
|
||||
|
@ -173,9 +169,10 @@ setup_wordpress(){
|
|||
## Multisite
|
||||
docker exec -ti isard-apps-wordpress /bin/sh -c "/multisite.sh"
|
||||
|
||||
docker exec -ti isard-apps-wordpress /bin/sh -c "if [ ! -d /var/www/html/wp-content/plugins/saml/onelogin-saml-sso ]; then cp -R /plugins/saml/onelogin-saml-sso /var/www/html/wp-content/plugins/; fi"
|
||||
docker exec -ti isard-apps-wordpress /bin/sh -c "if [ ! -d /var/www/html/wp-content/mu-plugins ]; then cp -R /plugins/mu-plugins /var/www/html/wp-content/; fi"
|
||||
|
||||
# docker exec -ti isard-apps-wordpress /bin/sh -c "if [ ! -d /var/www/html/wp-content/plugins/saml/onelogin-saml-sso ]; then cp -R /plugins/saml/onelogin-saml-sso /var/www/html/wp-content/plugins/; fi"
|
||||
# docker exec -ti isard-apps-wordpress /bin/sh -c "if [ ! -d /var/www/html/wp-content/mu-plugins ]; then cp -R /plugins/mu-plugins /var/www/html/wp-content/; fi"
|
||||
docker-compose run --user=33 isard-apps-wordpress-cli /bin/bash -c 'wp plugin install onelogin-saml-sso --activate'
|
||||
# docker-compose run isard-apps-wordpress-cli /bin/bash -c 'wp plugin activate onelogin-saml-sso --network'
|
||||
}
|
||||
|
||||
setup_keycloak(){
|
||||
|
@ -251,6 +248,7 @@ extras_develop(){
|
|||
}
|
||||
|
||||
upgrade_plugins_moodle(){
|
||||
wait_for_moodle
|
||||
rm -rf /tmp/moodle
|
||||
|
||||
mkdir -p /tmp/moodle/mod
|
||||
|
@ -259,45 +257,47 @@ upgrade_plugins_moodle(){
|
|||
mkdir -p /tmp/moodle/theme/cbe
|
||||
mkdir -p /tmp/moodle/blocks
|
||||
|
||||
curl --location https://moodle.org/plugins/download.php/25078/mod_jitsi_moodle311_2021090100.zip > jitsi.zip
|
||||
curl --location $MOODLE_PLUGIN_JITSI > jitsi.zip
|
||||
unzip jitsi.zip -d /tmp/moodle/mod/
|
||||
rm jitsi.zip
|
||||
|
||||
curl --location https://moodle.org/plugins/download.php/24977/mod_bigbluebuttonbn_moodle311_2019101011.zip > bbb.zip
|
||||
curl --location $MOODLE_PLUGIN_BBB > bbb.zip
|
||||
unzip bbb.zip -d /tmp/moodle/mod/
|
||||
rm bbb.zip
|
||||
|
||||
curl --location https://github.com/isard-vdi/moodle-auth_saml2/archive/refs/heads/role_map.zip > auth_saml2.zip
|
||||
# curl --location https://github.com/isard-vdi/moodle-auth_saml2/archive/refs/heads/role_map.zip > auth_saml2.zip
|
||||
# curl --location https://moodle.org/plugins/download.php/24556/auth_saml2_moodle311_2021062900.zip > auth_saml2.zip
|
||||
curl --location $MOODLE_PLUGIN_SAML > auth_saml2.zip
|
||||
unzip auth_saml2.zip -d /tmp/moodle/auth/
|
||||
mv /tmp/moodle/auth/moodle-auth_saml2-role_map/* /tmp/moodle/auth/saml2/
|
||||
rm -rf /tmp/moodle/auth/moodle-auth_saml2-role_map
|
||||
rm auth_saml2.zip
|
||||
|
||||
curl --location https://github.com/3iPunt/moodle_mod_tresipuntshare/archive/refs/heads/master.zip > tresipuntshare.zip
|
||||
curl --location $MOODLE_PLUGIN_TRESIPUNTSHARE > tresipuntshare.zip
|
||||
unzip tresipuntshare.zip -d /tmp/moodle/mod/
|
||||
mv /tmp/moodle/mod/moodle_mod_tresipuntshare-master /tmp/moodle/mod/tresipuntshare
|
||||
rm tresipuntshare.zip
|
||||
|
||||
curl --location https://github.com/3iPunt/moodle_mod_tresipuntvideo/archive/refs/heads/master.zip > tresipuntvideo.zip
|
||||
curl --location $MOODLE_PLUGIN_TRESIPUNTVIDEO > tresipuntvideo.zip
|
||||
unzip tresipuntvideo.zip -d /tmp/moodle/mod/
|
||||
mv /tmp/moodle/mod/moodle_mod_tresipuntvideo-master /tmp/moodle/mod/tresipuntvideo
|
||||
rm tresipuntvideo.zip
|
||||
|
||||
curl --location https://github.com/3iPunt/moodle_mod_tresipuntaudio/archive/refs/heads/master.zip > tresipuntaudio.zip
|
||||
curl --location $MOODLE_PLUGIN_TRESIPUNTAUDIO > tresipuntaudio.zip
|
||||
unzip tresipuntaudio.zip -d /tmp/moodle/mod/
|
||||
mv /tmp/moodle/mod/moodle_mod_tresipuntaudio-master /tmp/moodle/mod/tresipuntaudio
|
||||
rm tresipuntaudio.zip
|
||||
|
||||
curl --location https://github.com/3iPunt/moodle_assignsubmission_tipnc/archive/refs/heads/master.zip > assignsubmission_tipnc.zip
|
||||
curl --location $MOODLE_PLUGIN_ASSIGNSUBMISSION > assignsubmission_tipnc.zip
|
||||
unzip assignsubmission_tipnc.zip -d /tmp/moodle/mod/assign/submission/
|
||||
mv /tmp/moodle/mod/assign/submission/moodle_assignsubmission_tipnc-master /tmp/moodle/mod/assign/submission/tipnc
|
||||
rm assignsubmission_tipnc.zip
|
||||
|
||||
curl --location https://gitlab.com/digitaldemocratic/digitaldemocratic/-/raw/master/custom.sample/moodle/plugins/block_tresipuntmodspend.zip?inline=false > block_tresipuntmodspend.zip
|
||||
curl --location $MOODLE_PLUGIN_TRESIPUNTMODSPEND > block_tresipuntmodspend.zip
|
||||
unzip block_tresipuntmodspend.zip -d /tmp/moodle/blocks/
|
||||
rm block_tresipuntmodspend.zip
|
||||
|
||||
curl --location https://github.com/3iPunt/moodle_theme_cbe/archive/refs/heads/master.zip > tresipunt_theme_cbe.zip
|
||||
curl --location $MOODLE_THEME_CBE > tresipunt_theme_cbe.zip
|
||||
unzip tresipunt_theme_cbe.zip -d /tmp/moodle/theme/cbe/
|
||||
mv /tmp/moodle/theme/cbe/moodle_theme_cbe-master/* /tmp/moodle/theme/cbe/
|
||||
rm tresipunt_theme_cbe.zip
|
||||
|
@ -311,33 +311,32 @@ upgrade_plugins_moodle(){
|
|||
|
||||
upgrade_plugins_wp(){
|
||||
## MU-PLUGINS WP
|
||||
rm -rf /tmp/muplugins-google-sites-master
|
||||
curl --location https://gitlab.com/muplugins-multiste1/muplugins-google-sites/-/archive/master/muplugins-google-sites-master.zip > muplugins.zip
|
||||
unzip muplugins.zip -d /tmp/
|
||||
cp -R /tmp/muplugins-google-sites-master/mu-plugins/* /opt/digitaldemocratic/src/wordpress/wp-content/mu-plugins/
|
||||
rm muplugins.zip
|
||||
rm /tmp/muplugins-google-sites-master -rf
|
||||
docker-compose run --user=root isard-apps-wordpress-cli /bin/bash -c 'curl --location https://gitlab.com/muplugins-multiste1/muplugins-google-sites/-/archive/master/muplugins-google-sites-master.zip > muplugins.zip; \
|
||||
unzip muplugins.zip; \
|
||||
rm -rf /var/www/html/wp-content/mu-plugins/*; \
|
||||
mkdir -p /var/www/html/wp-content/mu-plugins; \
|
||||
cp -R muplugins-google-sites-master/mu-plugins/* /var/www/html/wp-content/mu-plugins/; \
|
||||
chown -R 33:33 /var/www/html/wp-content/mu-plugins; \
|
||||
rm muplugins.zip; \
|
||||
rm muplugins-google-sites-master -rf;'
|
||||
}
|
||||
|
||||
if [ "$OPERATION" = "prepare" ]; then
|
||||
prepare_submodules
|
||||
prepare
|
||||
build
|
||||
if [ "$OPERATION" = "repo-update" ]; then
|
||||
update_repo
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "build" ]; then
|
||||
prepare_submodules
|
||||
prepare
|
||||
build
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "up" ]; then
|
||||
prepare_submodules
|
||||
prepare
|
||||
build
|
||||
up
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "down" ]; then
|
||||
down
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "customize" ]; then
|
||||
up
|
||||
wait_for_moodle
|
||||
|
@ -348,25 +347,31 @@ fi
|
|||
|
||||
if [ "$OPERATION" = "saml" ]; then
|
||||
up
|
||||
wait_for_moodle
|
||||
saml_certificates
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "all" ]; then
|
||||
prepare_submodules
|
||||
prepare
|
||||
build
|
||||
up
|
||||
|
||||
wait_for_moodle
|
||||
upgrade_plugins_moodle
|
||||
upgrade_plugins_wp
|
||||
|
||||
setup_nextcloud
|
||||
setup_wordpress
|
||||
setup_moodle
|
||||
|
||||
saml_certificates
|
||||
|
||||
echo "\n\n"
|
||||
echo " #### After install ####"
|
||||
echo " - SSO in moodle should be active. You can go to: https://moodle.$DOMAIN"
|
||||
echo " If it fails, regenerate and lock certificate in moodle SAML2 connector as a local admin."
|
||||
echo " After that run ./dd-ctl saml"
|
||||
echo " - SSO in nextcloud should be active. You can go to: https://nextcloud.$DOMAIN"
|
||||
echo " - SSO in wordpress needs manual activation. You should go to https://wp.$DOMAIN/wp-admin//plugins.php "
|
||||
echo " - SSO in wordpress should be active. You should go to https://wp.$DOMAIN/wp-admin//plugins.php "
|
||||
echo " and activate 'OneLogin SAML SSO' plugin"
|
||||
|
||||
echo "\n\n"
|
||||
|
@ -375,28 +380,23 @@ if [ "$OPERATION" = "all" ]; then
|
|||
fi
|
||||
|
||||
if [ "$OPERATION" = "upgrade-plugins" ]; then
|
||||
upgrade_plugins_moodle
|
||||
upgrade_plugins_wp
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "all-develop" ]; then
|
||||
prepare
|
||||
build
|
||||
up
|
||||
wait_for_moodle
|
||||
setup_nextcloud
|
||||
setup_wordpress
|
||||
setup_moodle
|
||||
saml_certificates
|
||||
upgrade_plugins_moodle
|
||||
upgrade_plugins_wp
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "adminer" ]; then
|
||||
extras_adminer
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "reset-7941" ]; then
|
||||
if [ "$OPERATION" = "pgtuner" ]; then
|
||||
extras_pgtuner
|
||||
fi
|
||||
|
||||
if [ "$OPERATION" = "reset-1714" ]; then
|
||||
echo "Resetting all but certificates"
|
||||
docker-compose down
|
||||
down
|
||||
rm -rf /opt/digitaldemocratic/backup
|
||||
rm -rf /opt/digitaldemocratic/data
|
||||
rm -rf /opt/digitaldemocratic/db
|
||||
|
|
|
@ -110,6 +110,16 @@ MOODLE_IMG=erseco/alpine-php7-webserver:1.10.0
|
|||
MOODLE_VERSION=MOODLE_311_STABLE
|
||||
MOODLE_MAX_FILESIZE_UPLOAD=50M
|
||||
|
||||
MOODLE_PLUGIN_JITSI=https://moodle.org/plugins/download.php/23360/mod_jitsi_moodle310_2021052500.zip
|
||||
MOODLE_PLUGIN_BBB=https://moodle.org/plugins/download.php/23294/mod_bigbluebuttonbn_moodle310_2019101009.zip
|
||||
MOODLE_PLUGIN_SAML=https://github.com/isard-vdi/moodle-auth_saml2/archive/refs/heads/role_map.zip
|
||||
MOODLE_PLUGIN_TRESIPUNTSHARE=https://github.com/3iPunt/moodle_mod_tresipuntshare/archive/refs/heads/master.zip
|
||||
MOODLE_PLUGIN_TRESIPUNTVIDEO=https://github.com/3iPunt/moodle_mod_tresipuntvideo/archive/refs/heads/master.zip
|
||||
MOODLE_PLUGIN_TRESIPUNTAUDIO=https://github.com/3iPunt/moodle_mod_tresipuntaudio/archive/refs/heads/master.zip
|
||||
MOODLE_PLUGIN_ASSIGNSUBMISSION=https://github.com/3iPunt/moodle_assignsubmission_tipnc/archive/refs/heads/master.zip
|
||||
MOODLE_PLUGIN_TRESIPUNTMODSPEND=https://gitlab.com/digitaldemocratic/digitaldemocratic/-/raw/master/custom.sample/moodle/plugins/block_tresipuntmodspend.zip?inline=false
|
||||
MOODLE_THEME_CBE=https://github.com/3iPunt/moodle_theme_cbe/archive/refs/heads/master.zip
|
||||
|
||||
## NEXTCLOUD
|
||||
NEXTCLOUD_IMG=nextcloud:21.0.2-fpm-alpine
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 3b09732b51d07ecfa70c38c96a579f9b8acaa2d1
|
||||
Subproject commit cb96478a2ddf977fb394e3e4b117be16b47f9773
|
Loading…
Reference in New Issue