This commit is contained in:
afornerot 2023-11-13 16:40:30 +01:00
parent 3a25b38d29
commit 021dcbd10c
53 changed files with 361 additions and 142 deletions

View File

@ -3,7 +3,14 @@
<containers> <containers>
<container name='web'> <container name='web'>
<file filelist='envole' name='/etc/apache2/sites-available/envole' source='envole-apache.conf' rm="True"/> <file filelist='envole' name='/etc/apache2/sites-available/envole' source='envole-apache.conf' rm="True"/>
<file filelist='envole' name='/usr/share/envole/docker/env/.env.local' source='envole.env' rm='True'/> <file filelist='envole' name='/usr/share/envole/docker/env/.env.local' source='envole.env' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/env/.env.zapp.ninegate.local' source='envole-ninegate.env' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/env/.env.zapp.nextcloud.local' source='envole-nextcloud.env' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/env/.env.zapp.phpldapadmin.local' source='envole-phpldapadmin.env' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/volume/keycloak/envole/realm-export.json' source='envole-realm.json' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/volume/nextcloud/envole/mount.json' source='envole-nextcloud.mount' rm='True'/>
<service method='apache' servicelist='envole'>envole</service> <service method='apache' servicelist='envole'>envole</service>
</container> </container>
@ -84,7 +91,9 @@
<variable name='nextcloud_url' type='string' mandatory='True' description='Nextcloud URL'></variable> <variable name='nextcloud_url' type='string' mandatory='True' description='Nextcloud URL'></variable>
<variable name='nextcloud_samba' type='oui/non' description='Configurer un partage Samba'><value>non</value></variable> <variable name='nextcloud_samba' type='oui/non' description='Configurer un partage Samba'><value>non</value></variable>
<variable name='nextcloud_samba_host' type='string' mandatory='True' description='Samba host name'></variable> <variable name='nextcloud_samba_host' type='string' mandatory='True' description='Samba host name'></variable>
<variable name='nextcloud_samba_domaine' type='string' mandatory='True' description='Samba domaine name'><value>DOMSCRIBE</value></variable>
<variable name='nextcloud_samba_name' type='string' mandatory='True' description='Samba root name'><value>nextcloud</value></variable> <variable name='nextcloud_samba_name' type='string' mandatory='True' description='Samba root name'><value>nextcloud</value></variable>
</family> </family>
<separators> <separators>
@ -109,6 +118,9 @@
<check name='valid_enum' target='envole_modeauth'> <check name='valid_enum' target='envole_modeauth'>
<param>['CAS', 'SQL', 'LDAP']</param> <param>['CAS', 'SQL', 'LDAP']</param>
</check> </check>
<check name='valid_enum' target='ninegate_moderegistration'>
<param>['none', 'byuser', 'byadmin']</param>
</check>
<!-- APACHE --> <!-- APACHE -->
<condition name='hidden_if_in' source='activer_apache'> <condition name='hidden_if_in' source='activer_apache'>
@ -203,6 +215,7 @@
<condition name='hidden_if_in' source='openldap_local'> <condition name='hidden_if_in' source='openldap_local'>
<param>oui</param> <param>oui</param>
<target type='variable'>openldap_ldaptemplate</target>
<target type='variable'>openldap_host</target> <target type='variable'>openldap_host</target>
<target type='variable'>openldap_port</target> <target type='variable'>openldap_port</target>
<target type='variable'>openldap_tls</target> <target type='variable'>openldap_tls</target>
@ -305,6 +318,7 @@
<param>non</param> <param>non</param>
<target type='variable'>nextcloud_samba_host</target> <target type='variable'>nextcloud_samba_host</target>
<target type='variable'>nextcloud_samba_domaine</target>
<target type='variable'>nextcloud_samba_name</target> <target type='variable'>nextcloud_samba_name</target>
</condition> </condition>
</constraints> </constraints>

View File

@ -66,7 +66,7 @@ services:
container_name: envole-ninegate container_name: envole-ninegate
restart: always restart: always
healthcheck: healthcheck:
test: curl --fail http://localhost || exit 1 test: curl --fail http://localhost/ninegate || exit 1
interval: 1s interval: 1s
timeout: 60s timeout: 60s
env_file: ./.env.local env_file: ./.env.local
@ -79,7 +79,7 @@ services:
- ./volume/ninegate/data/public:/app/public/uploads - ./volume/ninegate/data/public:/app/public/uploads
nextcloud: nextcloud:
image: docker.io/library/nextcloud image: reg.cadoles.com/envole/nextcloud
container_name: envole-nextcloud container_name: envole-nextcloud
restart: always restart: always
healthcheck: healthcheck:

11
docker/env/.env vendored
View File

@ -6,7 +6,7 @@ RELEASE_SYSTEM=linux
# GLOBAL # GLOBAL
APP_ENV=PROD APP_ENV=PROD
WEB_URL=localhost WEB_URL=localhost
WEB_PROTOCOL=http PROTOCOLE=http
# ADMIN USER # ADMIN USER
ADMIN_USER=admin ADMIN_USER=admin
@ -50,8 +50,12 @@ LDAP_TEMPLATE=
LDAP_USERNAME=uid LDAP_USERNAME=uid
LDAP_FIRSTNAME=givenname LDAP_FIRSTNAME=givenname
LDAP_LASTNAME=sn LDAP_LASTNAME=sn
LDAP_DISPLAYNAME=displayName
LDAP_EMAIL=mail LDAP_EMAIL=mail
LDAP_MEMBER=memberUid LDAP_MEMBER=memberUid
LDAP_USER_FILTER="(&(${LDAP_USERNAME}=*)(objectClass=person)(!(description=Computer)))"
LDAP_LOGIN_FILTER="(&(${LDAP_USERNAME}=%uid)(objectClass=person)(!(description=Computer)))"
LDAP_GROUP_FILTER="(&(objectClass=posixGroup))"
SCRIBE_GROUP=1 SCRIBE_GROUP=1
SCRIBE_MASTER=1 SCRIBE_MASTER=1
OPENLDAPREQNIVEAU01= OPENLDAPREQNIVEAU01=
@ -81,6 +85,7 @@ NEXTCLOUD_SERVICE_NAME=nextcloud
NEXTCLOUD_ACTIVATE=0 NEXTCLOUD_ACTIVATE=0
NEXTCLOUD_LOCAL=1 NEXTCLOUD_LOCAL=1
NEXTCLOUD_URL=${WEB_PROTOCOL}://${WEB_URL}:9001 NEXTCLOUD_URL=${WEB_PROTOCOL}://${WEB_URL}:9001
NEXTCLOUD_SAMBA=0
# ADMINER # ADMINER
ADMINER_SERVICE_NAME=adminer ADMINER_SERVICE_NAME=adminer
@ -94,6 +99,10 @@ PHPLDAPADMIN_ACTIVATE=0
PHPLDAPADMIN_LOCAL=1 PHPLDAPADMIN_LOCAL=1
PHPLDAPADMIN_URL=${WEB_PROTOCOL}://${WEB_URL}:9101 PHPLDAPADMIN_URL=${WEB_PROTOCOL}://${WEB_URL}:9101
# GENCONFIG
GENCONFIG_ACTIVATE=0
GENCONFIG_URL=${WEB_PROTOCOL}://${WEB_URL}:9102
# NINEAPACHE # NINEAPACHE
NINEAPACHE_SERVICE_NAME=nineapache NINEAPACHE_SERVICE_NAME=nineapache
NINEAPACHE_ACTIVATE=0 NINEAPACHE_ACTIVATE=0

View File

@ -8,3 +8,4 @@ MYSQL_PASSWORD=${MARIADB_PASSWORD}
NEXTCLOUD_ADMIN_USER=${ADMIN_USER} NEXTCLOUD_ADMIN_USER=${ADMIN_USER}
NEXTCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD} NEXTCLOUD_ADMIN_PASSWORD=${ADMIN_PASSWORD}
NEXTCLOUD_ALIAS= NEXTCLOUD_ALIAS=

View File

@ -11,3 +11,5 @@ WIDPHPLDAPADMIN_URL=${PHPLDAPADMIN_URL}
ACTIVATE_WIDNEXTCLOUD=${NEXTCLOUD_ACTIVATE} ACTIVATE_WIDNEXTCLOUD=${NEXTCLOUD_ACTIVATE}
WIDNEXTCLOUD_URL=${NEXTCLOUD_URL} WIDNEXTCLOUD_URL=${NEXTCLOUD_URL}
ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE}
WIDGENCONFIG_URL=${GENCONFIG_URL}

View File

@ -6,13 +6,12 @@
# Fusionner l'ensemble des fichier .env en un seul # Fusionner l'ensemble des fichier .env en un seul
rm -f ./.env.local rm -f ./.env.local
cat ./env/.env* >> ./.env.local cat ./env/.env* >> ./.env.local
. ./misc/tools/e-ihm.sh . ./misc/e-ihm.sh
. .env . .env
. ./env/.env . ./env/.env
. ./env/.env.local . ./env/.env.local
# Start script # Start script
clear
BigTitle "ENVOLE" BigTitle "ENVOLE"
# on remplace les valeur reprise dans les autres .env car podman interprète mal # on remplace les valeur reprise dans les autres .env car podman interprète mal
@ -124,6 +123,9 @@ up(){
Title "NETWORK" Title "NETWORK"
# On réinstall docker-ce car le reconf détruit le reseau docker, la reinstall de docker-ce rétablit le reseau # On réinstall docker-ce car le reconf détruit le reseau docker, la reinstall de docker-ce rétablit le reseau
apt-get install docker-ce --reinstall apt-get install docker-ce --reinstall
# ATTENTION A REVOIR car ouvre complétement le firewall
iptables -P INPUT ACCEPT
fi fi
# MARIADB # MARIADB

View File

@ -1,111 +0,0 @@
#!/usr/bin/env bash
# Source: https://github.com/Silejonu/bash_loading_animations
# shellcheck disable=SC2034 # https://github.com/koalaman/shellcheck/wiki/SC2034
### Loading animations list ###
# The first value of an array is the interval (in seconds) between each frame
## ASCII animations ##
# Will work in any terminal, including the TTY.
BLA_classic=( 0.25 '-' "\\" '|' '/' )
BLA_box=( 0.2 ┤ ┴ ├ ┬ )
BLA_bubble=( 0.6 · o O O o · )
BLA_breathe=( 0.9 '  ()  ' ' (  ) ' '(    )' ' (  ) ' )
BLA_growing_dots=( 0.5 '.  ' '.. ' '...' '.. ' '.  ' '   ' )
BLA_passing_dots=( 0.25 '.  ' '.. ' '...' ' ..' '  .' '   ' )
BLA_metro=( 0.2 '[    ]' '[=   ]' '[==  ]' '[=== ]' '[ ===]' '[  ==]' '[   =]' )
BLA_snake=( 0.4 '[=     ]' '[~<    ]' '[~~=   ]' '[~~~<  ]' '[ ~~~= ]' '[  ~~~<]' '[   ~~~]' '[    ~~]' '[     ~]' '[      ]' )
BLA_filling_bar=( 0.25 '█▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '██████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒▒' '███████████████████▒▒▒▒▒▒▒▒▒▒▒▒▒' '████████████████████▒▒▒▒▒▒▒▒▒▒▒▒' '█████████████████████▒▒▒▒▒▒▒▒▒▒▒' '██████████████████████▒▒▒▒▒▒▒▒▒▒' '███████████████████████▒▒▒▒▒▒▒▒▒' '████████████████████████▒▒▒▒▒▒▒▒' '█████████████████████████▒▒▒▒▒▒▒' '██████████████████████████▒▒▒▒▒▒' '███████████████████████████▒▒▒▒▒' '████████████████████████████▒▒▒▒' '█████████████████████████████▒▒▒' '██████████████████████████████▒▒' '███████████████████████████████▒' '████████████████████████████████')
## UTF-8 animations ##
# Require Unicode support (will work in most modern terminals, but not in TTY).
# Some animations may not render properly with certain fonts.
BLA_classic_utf8=( 0.25 '—' "\\" '|' '/' )
BLA_bounce=( 0.3 . · ˙ · )
BLA_vertical_block=( 0.25 ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ █ ▇ ▆ ▅ ▄ ▃ ▂ ▁ )
BLA_horizontal_block=( 0.25 ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▉ ▊ ▋ ▌ ▍ ▎ ▏ )
BLA_quarter=( 0.25 ▖ ▘ ▝ ▗ )
BLA_triangle=( 0.45 ◢ ◣ ◤ ◥)
BLA_semi_circle=( 0.1 ◐ ◓ ◑ ◒ )
BLA_rotating_eyes=( 0.4 ◡◡ ⊙⊙ ⊙⊙ ◠◠ )
BLA_firework=( 0.4 '⢀' '⠠' '⠐' '⠈' '*' '*' ' ' )
BLA_braille=( 0.2 ⠁ ⠂ ⠄ ⡀ ⢀ ⠠ ⠐ ⠈ )
BLA_braille_whitespace=( 0.2 ⣾ ⣽ ⣻ ⢿ ⡿ ⣟ ⣯ ⣷ )
BLA_trigram=( 0.25 ☰ ☱ ☳ ☶ ☴ )
BLA_arrow=( 0.15 ▹▹▹▹▹ ▸▹▹▹▹ ▹▸▹▹▹ ▹▹▸▹▹ ▹▹▹▸▹ ▹▹▹▹▸ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ ▹▹▹▹▹ )
BLA_bouncing_ball=( 0.4 '(●     )' '( ●    )' '(  ●   )' '(   ●  )' '(    ● )' '(     ●)' '(    ● )' '(   ●  )' '(  ●   )' '( ●    )' )
BLA_big_dot=( 0.7 ∙∙∙ ●∙∙ ∙●∙ ∙∙● )
BLA_modern_metro=( 0.15 ▰▱▱▱▱▱▱ ▰▰▱▱▱▱▱ ▰▰▰▱▱▱▱ ▱▰▰▰▱▱▱ ▱▱▰▰▰▱▱ ▱▱▱▰▰▰▱ ▱▱▱▱▰▰▰ ▱▱▱▱▱▰▰ ▱▱▱▱▱▱▰ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ ▱▱▱▱▱▱▱ )
BLA_pong=( 0.35 '▐⠂       ▌' '▐⠈       ▌' '▐ ⠂      ▌' '▐ ⠠      ▌' '▐  ⡀     ▌' '▐  ⠠     ▌' '▐   ⠂    ▌' '▐   ⠈    ▌' '▐    ⠂   ▌' '▐    ⠠   ▌' '▐     ⡀  ▌' '▐     ⠠  ▌' '▐      ⠂ ▌' '▐      ⠈ ▌' '▐       ⠂▌' '▐       ⠠▌' '▐       ⡀▌' '▐      ⠠ ▌' '▐      ⠂ ▌' '▐     ⠈  ▌' '▐     ⠂  ▌' '▐    ⠠   ▌' '▐    ⡀   ▌' '▐   ⠠    ▌' '▐   ⠂    ▌' '▐  ⠈     ▌' '▐  ⠂     ▌' '▐ ⠠      ▌' '▐ ⡀      ▌' '▐⠠       ▌' )
BLA_earth=( 0.45 🌍 🌎 🌏 )
BLA_clock=( 0.2 🕛 🕐 🕑 🕒 🕓 🕔 🕕 🕖 🕗 🕘 🕙 🕚 )
BLA_moon=( 0.8 🌑 🌒 🌓 🌔 🌕 🌖 🌗 🌘 )
BLA_orange_pulse=( 0.35 🔸 🔶 🟠 🟠 🔶 )
BLA_blue_pulse=( 0.35 🔹 🔷 🔵 🔵 🔷 )
BLA_football=( 0.25 ' 👧⚽️       👦' '👧  ⚽️      👦' '👧   ⚽️     👦' '👧    ⚽️    👦' '👧     ⚽️   👦' '👧      ⚽️  👦' '👧       ⚽️👦 ' '👧      ⚽️  👦' '👧     ⚽️   👦' '👧    ⚽️    👦' '👧   ⚽️     👦' '👧  ⚽️      👦' )
BLA_blink=( 0.25 😐 😐 😐 😐 😐 😐 😐 😐 😐 😑 )
BLA_camera=( 0.1 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📷 📸 📷 📸 )
BLA_sparkling_camera=( 0.1 '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📷 ' '📸✨' '📷 ' '📸✨' )
BLA_sick=( 0.9 🤢 🤢 🤮 )
BLA_monkey=( 0.4 🙉 🙈 🙊 🙈 )
BLA_bomb=( 0.25 '💣   ' ' 💣  ' '  💣 ' '   💣' '   💣' '   💣' '   💣' '   💣' '   💥' '    ' '    ' )
declare -a BLA_active_loading_animation
BLA::play_loading_animation_loop() {
while true ; do
for frame in "${BLA_active_loading_animation[@]}" ; do
printf "\r%s" "${frame}"
sleep "${BLA_loading_animation_frame_interval}"
done
done
}
BLA::start_loading_animation() {
BLA_active_loading_animation=( "${@}" )
# Extract the delay between each frame from array BLA_active_loading_animation
BLA_loading_animation_frame_interval="${BLA_active_loading_animation[0]}"
unset "BLA_active_loading_animation[0]"
tput civis # Hide the terminal cursor
BLA::play_loading_animation_loop &
BLA_loading_animation_pid="${!}"
}
BLA::stop_loading_animation() {
kill "${BLA_loading_animation_pid}" &> /dev/null
printf "\n"
tput cnorm # Restore the terminal cursor
}
###############################################################################
################################# USAGE GUIDE #################################
###############################################################################
################## Read below for the explanations on how to ##################
################### show loading animations in your script. ###################
###############################################################################
:<<'EXAMPLES'
## Put these lines at the top of your script:
## (replace /path/to/bash_loading_animations.sh with the appropriate filepath)
# Load in the functions and animations
source /path/to/bash_loading_animations.sh
# Run BLA::stop_loading_animation if the script is interrupted
trap BLA::stop_loading_animation SIGINT
# Show a loading animation for the command "foo"
BLA::start_loading_animation "${BLA_name_of_the_animation[@]}"
foo
BLA::stop_loading_animation
# If foo prints some output in the terminal, you may want to add:
foo 1> /dev/null # hide standard output
# or
foo 2> /dev/null # hide error messages
# or
foo &> /dev/null # hide all output
EXAMPLES

View File

@ -299,7 +299,6 @@ class AppService
} }
$serviceBasedUrl = $this->getServiceBasedUrl(); $serviceBasedUrl = $this->getServiceBasedUrl();
$this->loggingService->write(\OCA\UserCas\Service\LoggingService::ERROR, 'MON SERVICE BASE = '.$serviceBasedUrl);
# Initialize client # Initialize client
if ($this->casUseProxy) { if ($this->casUseProxy) {

View File

@ -52,6 +52,10 @@ echo "== FILES EXTERNAL"
run_as 'php occ app:install files_external' run_as 'php occ app:install files_external'
run_as 'php occ app:update files_external' run_as 'php occ app:update files_external'
run_as 'php occ app:enable files_external' run_as 'php occ app:enable files_external'
if [[ "${NEXTCLOUD_SAMBA}" == "1" ]]
then
run_as 'php occ files_external:import /envole/mount.json -q'
fi
echo echo
echo "== FILES MINDMAP" echo "== FILES MINDMAP"
@ -85,6 +89,41 @@ then
run_as 'php occ app:install user_ldap' run_as 'php occ app:install user_ldap'
run_as 'php occ app:update user_ldap' run_as 'php occ app:update user_ldap'
run_as 'php occ app:enable user_ldap' run_as 'php occ app:enable user_ldap'
run_as 'php occ config:app:set user_ldap bgjRefreshInterval --value=300 -q'
run_as 'php occ config:app:set user_ldap cleanUpJobChunkSize --value=300 -q'
run_as 'php occ config:app:set user_ldap background_sync_interval --value=300 -q'
run_as 'php occ ldap:show-config s01' > /tmp/nextcloud-ldap.txt
if grep -q "Invalid configID" /tmp/nextcloud-ldap.txt;then run_as 'php occ ldap:create-empty-config -q'; fi
run_as 'php occ ldap:set-config s01 ldapHost "${LDAP_HOST}"'
run_as 'php occ ldap:set-config s01 ldapPort "${LDAP_PORT}"'
run_as 'php occ ldap:set-config s01 ldapTLS "${LDAP_TLS}"'
run_as 'php occ ldap:set-config s01 ldapAgentName "${LDAP_USER}"'
run_as 'php occ ldap:set-config s01 ldapAgentPassword "${LDAP_PASSWORD}"'
run_as 'php occ ldap:set-config s01 ldapBase "${LDAP_BASEDN}"'
run_as 'php occ ldap:set-config s01 ldapBaseGroups "${LDAP_BASEGROUP}"'
run_as 'php occ ldap:set-config s01 ldapBaseUsers "${LDAP_BASEUSER}"'
run_as 'php occ ldap:set-config s01 ldapConfigurationActive "1"'
run_as 'php occ ldap:set-config s01 ldapExperiencedAdmin "0"'
run_as 'php occ ldap:set-config s01 ldapExpertUUIDUserAttr "${LDAP_USERNAME}"'
run_as 'php occ ldap:set-config s01 ldapLoginFilter "${LDAP_LOGIN_FILTER}"'
run_as 'php occ ldap:set-config s01 ldapUserFilter "${LDAP_USER_FILTER}"'
run_as 'php occ ldap:set-config s01 ldapGroupFilter "${LDAP_GROUP_FILTER}"'
run_as 'php occ ldap:set-config s01 ldapUserDisplayName "${LDAP_DISPLAYNAME}"'
run_as 'php occ ldap:set-config s01 ldapCacheTTL "300"'
run_as 'php occ ldap:set-config s01 ldapPagingSize "0"'
#sudo -u www-data php /var/www/html/nextcloud/occ ldap:set-config s01 ldapGroupFilterObjectclass "${ldapGroupFilterObjectclass}"
#sudo -u www-data php /var/www/html/nextcloud/occ ldap:set-config s01 ldapGroupMemberAssocAttr "${ldapGroupMemberAssocAttr}"
#sudo -u www-data php /var/www/html/nextcloud/occ ldap:set-config s01 ldapUserFilterObjectclass "${ldapUserFilterObjectclass}"
#sudo -u www-data php /var/www/html/nextcloud/occ ldap:set-config s01 ldapEmailAttribute "${ldapEmailAttribute}"
else else
run_as 'php occ app:disable user_ldap' run_as 'php occ app:disable user_ldap'
fi fi

View File

@ -0,0 +1,3 @@
FROM nextcloud:apache
RUN apt-get update && apt-get install -y procps smbclient && rm -rf /var/lib/apt/lists/*

View File

@ -0,0 +1,9 @@
version: '3'
services:
nextcloud:
build:
context: ./containers/nextcloud
image: reg.cadoles.com/envole/nextcloud
container_name: nextcloud

186
misc/tools/e-ihm.sh Executable file
View File

@ -0,0 +1,186 @@
#!/bin/bash
TPUT=/usr/bin/tput
#test si TPUT est utilisable
if [ ! "$TERM" = "" ] && $TPUT hpa 60 >/dev/null 2>&1 && $TPUT setaf 1 >/dev/null 2>&1; then
FANCYTTY=1
else
FANCYTTY=0
fi
Pause() {
if [ "$ModeTxt" == "yes" ];then
echo
elif [ "$ModeEad" == "yes" ];then
echo "<br>"
else
[ $FANCYTTY = 1 ] && $TPUT setaf 6
echo " Appuyez sur Entrée pour continuer ..."
[ $FANCYTTY = 1 ] && $TPUT sgr0
read BiDon
fi
}
Echo() {
if [ "$ModeEad" != "yes" ];
then
echo "$1"
else
echo "$1<br>"
fi
}
EchoColor() {
if [ "$ModeTxt" = "yes" ];then
echo "$1"
elif [ "$ModeEad" = "yes" ];then
echo "<FONT color=\"$3\"> $1 </FONT><br>"
else
[ "$FANCYTTY" = 1 ] && $TPUT setaf $2
echo "$1"
[ "$FANCYTTY" = 1 ] && $TPUT sgr0
fi
}
EchoRouge() {
EchoColor "$1" "1" "red"
}
EchoVert() {
EchoColor "$1" "2" "green"
}
EchoOrange() {
EchoColor "$1" "3" "orange"
}
EchoBleu() {
EchoColor "$1" "4" "blue"
}
EchoMagenta() {
EchoColor "$1" "5" "magenta"
}
EchoCyan() {
EchoColor "$1" "6" "cyan"
}
EchoBlanc() {
EchoColor "$1" "7" "white"
}
EchoGras() {
if [ "$ModeTxt" == "yes" ];then
echo "$1"
elif [ "$ModeEad" == "yes" ];then
echo "<b> $1 </b><br>"
else
[ $FANCYTTY = 1 ] && $TPUT bold
echo "$1"
[ $FANCYTTY = 1 ] && $TPUT sgr0
fi
}
Clear() {
if [ "$ModeEad" != "yes" -a "$ModeTxt" != "yes" ];then
clear
fi
}
Question_ouinon() {
#attention, il faut synchroniser les modifications avec /usr/share/pyshared/pyeole/ihm.py
question=$1
[ "$2" = "" ] && interactive='True' || interactive=$2
[ "$3" = "" ] && default="non" || default=$3
[ "$4" = "" ] && level="info" || level=$4
[ "$5" = "" ] && default_uninteractive=$default || default_uninteractive=$5
[ ! "$interactive" = "True" ] && [ ! "$interactive" = "False" ] && echo "Question_ouinon : interactive doit être True ou False" && exit 1
[ ! "$default" = "oui" ] && [ ! "$default" = "non" ] && echo "Question_ouinon : default doit etre oui ou non" && exit 1
[ ! "$default_uninteractive" = "oui" ] && [ ! "$default_uninteractive" = "non" ] && echo "Question_ouinon : default_uninteractive doit etre oui ou non" && exit 1
[ ! "$level" = "info" ] && [ ! "$level" = "warn" ] && [ ! "$level" = "err" ] && echo "Question_ouinon : level doit etre info, warn ou err" && exit 1
#non interactive
if [ "$interactive" = "False" ]; then
Rep=default_uninteractive
else
question="$question [oui/non]"
if [ $level = "info" ]; then
echo "$question"
elif [ $level = "warn" ]; then
EchoOrange "$question"
else
EchoRouge "$question"
fi
echo -n "[$default] : "
read Rep
#passe en minuscule
Rep=`echo $Rep | tr A-Z a-z`
fi
if [ "$default" = "non" ]; then
if [ "$Rep" = "oui" -o "$Rep" = "o" -o "$Rep" = "yes" -o "$Rep" = "y" ];then
return 0
else
return 1
fi
else
if [ "$Rep" = "non" -o "$Rep" = "n" -o "$Rep" = "no" ];then
return 1
else
return 0
fi
fi
}
EchoStart() {
for i in $(eval echo "{1..30}")
do
ligne+="="
done
clear
}
BigTitle(){
size=`tput cols`
nb=${#1}
nbchar=$(($size - $nb - 4))
ligne=""
for i in $(eval echo "{1..$size}")
do
ligne+="="
done
finligne=""
for i in $(eval echo "{1..$nbchar}")
do
finligne+="="
done
echo
EchoVert $ligne
EchoVert "== $1 $finligne"
EchoVert $ligne
echo
}
Title(){
size=`tput cols`
nb=${#1}
nbchar=$(($size - $nb - 4))
ligne=""
for i in $(eval echo "{1..$size}")
do
ligne+="="
done
finligne=""
for i in $(eval echo "{1..$nbchar}")
do
finligne+="="
done
echo
EchoCyan "== $1 $finligne"
echo
}

29
misc/tools/e-reconfigure.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
. /usr/share/envole/docker/misc/e-ihm.sh
RunCmd=CreoleRun
clear
BigTitle "RECONFIGURE ENVOLE"
container_path_web=$(CreoleGet container_path_web non)
Title "Rafraichissement creoled"
service creoled restart
Title "Generation templates"
FILES="/usr/share/eole/creole/distrib/envole*"
for f in $FILES
do
if [ -f "$f" ]
then
EchoRouge $(basename $f)
CreoleCat -t $(basename $f)
fi
done
Title "Restart apache"
service apache2 restart
chmod +x $container_path_web/usr/share/envole/docker/envole.sh
$RunCmd "cd /usr/share/envole/docker && ./envole.sh" web

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,7 +1,6 @@
#-- LOCAL #-- LOCAL ---------------------------------------------------------------------------------------------------------------------------------
NEXTCLOUD_ACTIVATE=1
NEXTCLOUD_ALIAS=/nextcloud NEXTCLOUD_ALIAS=/nextcloud
NEXTCLOUD_URL=${WEB_PROTOCOL}://${WEB_URL}/nextcloud NEXTCLOUD_URL=${PROTOCOLE}://${WEB_URL}/nextcloud
NEXTCLOUD_SAMBA=%%getBool(%%getVar("nextcloud_samba", "non"))

View File

@ -0,0 +1,27 @@
[
{
"mount_id": 1,
"mount_point": "\/Envole",
"storage": "\\OCA\\Files_External\\Lib\\Storage\\SMB",
"authentication_type": "password::userprovided",
"configuration": {
"check_acl": true,
"domain": "%%getVar('nextcloud_samba_domaine','')",
"host": "%%getVar('nextcloud_samba_host','')",
"root": "",
"share": "%%getVar('nextcloud_samba_name','')",
"show_hidden": false,
"timeout": ""
},
"options": {
"enable_sharing": false,
"encoding_compatibility": false,
"encrypt": true,
"filesystem_check_changes": 1,
"previews": true,
"readonly": false
},
"applicable_users": [],
"applicable_groups": []
}
]

6
tmpl/envole-ninegate.env Normal file
View File

@ -0,0 +1,6 @@
#-- LOCAL ---------------------------------------------------------------------------------------------------------------------------------
ALIAS=ninegate/
FORCE_THEME=%%getBool(%%getVar("ninegate_forcetheme", "non"))
FORCE_THEMENAME=%%getVar("ninegate_forcethemename", "")

View File

@ -1,7 +1,7 @@
#-- LOCAL #-- LOCAL
PHPLDAPADMIN_ACTIVATE=1 PHPLDAPADMIN_LDAP_HOSTS=ldap://${LDAP_HOST}:${LDAP_PORT}
PHPLDAPADMIN_URL=/phpldapadmin PHPLDAPADMIN_URL=/phpldapadmin
PHPLDAPADMIN_SERVER_PATH=${PHPLDAPADMIN_URL} PHPLDAPADMIN_SERVER_PATH=${PHPLDAPADMIN_URL}

View File

@ -435,16 +435,16 @@
"id": "133d3397-41e7-4ec1-aaf0-a0939da72f58", "id": "133d3397-41e7-4ec1-aaf0-a0939da72f58",
"clientId": "envole", "clientId": "envole",
"name": "envole", "name": "envole",
"rootUrl": "https://eolebase.ac-test.fr", "rootUrl": "https://%%getVar("web_url", 'localhost')",
"baseUrl": "https://eolebase.ac-test.fr", "baseUrl": "https://%%getVar("web_url", 'localhost')",
"surrogateAuthRequired": false, "surrogateAuthRequired": false,
"enabled": true, "enabled": true,
"alwaysDisplayInConsole": false, "alwaysDisplayInConsole": false,
"clientAuthenticatorType": "client-secret", "clientAuthenticatorType": "client-secret",
"secret": "**********", "secret": "**********",
"redirectUris": [ "redirectUris": [
"http://eolebase.ac-test.fr*", "http://%%getVar("web_url", 'localhost')*",
"https://eolebase.ac-test.fr*" "https://%%getVar("web_url", 'localhost')*"
], ],
"webOrigins": [], "webOrigins": [],
"notBefore": 0, "notBefore": 0,
@ -1594,7 +1594,7 @@
"true" "true"
], ],
"usersDn": [ "usersDn": [
"ou=users,ou=ninegate,dc=envole,dc=org" "%%getVar("openldap_basedn", 'dc=envole,dc=org')"
], ],
"cachePolicy": [ "cachePolicy": [
"DEFAULT" "DEFAULT"
@ -1612,13 +1612,13 @@
"uid" "uid"
], ],
"bindCredential": [ "bindCredential": [
"changeme" "%%getVar("openldap_password", '')"
], ],
"changedSyncPeriod": [ "changedSyncPeriod": [
"-1" "-1"
], ],
"bindDn": [ "bindDn": [
"cn=admin,dc=envole,dc=org" "cn=%%getVar("openldap_user", 'admin'),%%getVar("openldap_basedn", 'dc=envole,dc=org')"
], ],
"lastSync": [ "lastSync": [
"1698698495" "1698698495"
@ -1630,7 +1630,7 @@
"entryUUID" "entryUUID"
], ],
"connectionUrl": [ "connectionUrl": [
"ldap://openldap:1389" "ldap://%%getVar("openldap_host", 'openldap'):%%getVar("openldap_port", '1389')"
], ],
"allowKerberosAuthentication": [ "allowKerberosAuthentication": [
"false" "false"
@ -1645,7 +1645,7 @@
"false" "false"
], ],
"searchScope": [ "searchScope": [
"1" "2"
], ],
"useTruststoreSpi": [ "useTruststoreSpi": [
"ldapsOnly" "ldapsOnly"

View File

@ -4,19 +4,19 @@
# GLOBAL # GLOBAL
RELEASE_SYSTEM=eole RELEASE_SYSTEM=eole
WEB_URL=%%getVar('web_url','') WEB_URL=%%getVar('web_url','')
WEB_PROTOCOL=https PROTOCOLE=https
MASTERIDENTITY=%%getVar('envole_masteridentity','') MASTERIDENTITY=%%getVar('envole_masteridentity','')
MODE_AUTH=%%getVar('envole_modeauth','') MODE_AUTH=%%getVar('envole_modeauth','')
# ANNUAIRE # ANNUAIRE
LDAP_ACTIVATE=%%getBool(%%getVar("activer_openldap", "non")) LDAP_ACTIVATE=%%getBool(%%getVar("activer_openldap", "non"))
LDAP_LOCAL=%%getBool(%%getVar("openldap_local", "non")) LDAP_LOCAL=%%getBool(%%getVar("openldap_local", "non"))
LDAP_HOST=%%getVar("openldap_host", '') LDAP_HOST=%%getVar("openldap_host", 'openldap')
LDAP_PORT=%%getVar("openldap_port", '') LDAP_PORT=%%getVar("openldap_port", '1389')
LDAP_TLS=%%getBool(%%getVar("openldap_tls", "non")) LDAP_TLS=%%getBool(%%getVar("openldap_tls", "non"))
LDAP_BASEDN="%%getVar("openldap_basedn", '')" LDAP_BASEDN="%%getVar("openldap_basedn", 'dc=envole,dc=org')"
LDAP_ADMIN_USERNAME=%%getVar("openldap_user", '') LDAP_ADMIN_USERNAME=%%getVar("openldap_user", 'admin')
LDAP_USER="cn=%%getVar("openldap_user", ''),%%getVar("openldap_basedn", '')" LDAP_USER="cn=%%getVar("openldap_user", 'admin'),%%getVar("openldap_basedn", 'dc=envole,dc=org')"
LDAP_PASSWORD="%%getVar("openldap_password", '')" LDAP_PASSWORD="%%getVar("openldap_password", '')"
# SYNCHRONISATION ANNUAIRE<>NINEGATE # SYNCHRONISATION ANNUAIRE<>NINEGATE
@ -43,16 +43,17 @@ LDAP_BASEGROUP="%%getVar(%%ninegate_openldapsubbranchgroup,%%getVar(%%ldap_base_
%end if %end if
# CAS # CAS
%if %%getVar("MODE_AUTH", '') == "CAS" %if %%getVar("envole_modeauth", '') == "CAS"
CAS_ACTIVATE=1 CAS_ACTIVATE=1
%else %else
CAS_ACTIVATE=0 CAS_ACTIVATE=0
%end if %end if
CAS_LOCAL=%%getBool(%%getVar("cas_local", "non")) CAS_LOCAL=%%getBool(%%getVar("cas_local", "non"))
CAS_HOST=%%getVar("cas_host", "") CAS_HOST=%%getVar("cas_host", %%getVar("web_url"))
CAS_PORT=%%getVar("cas_port", "") CAS_PORT=%%getVar("cas_port", "8443")
CAS_PATH=%%getVar("cas_path", "") CAS_PATH=%%getVar("cas_path", "/auth/realms/envole/protocol/cas")
CAS_URL=https://%%getVar("cas_host", ""):%%getVar("cas_port", "") CAS_URL=https://%%getVar("cas_host", %%getVar("web_url")):%%getVar("cas_port", "8443")
CAS_PASSWORD=%%getVar("keycload_userpassword", "")
# NINEGATE # NINEGATE
NINEGATE_ACTIVATE=%%getBool(%%getVar("activer_ninegate", "non")) NINEGATE_ACTIVATE=%%getBool(%%getVar("activer_ninegate", "non"))
@ -72,3 +73,7 @@ ADMINER_URL=/adminer/?server=${MARIADB_SERVICE_NAME}&username=${MARIADB_USER}
PHPLDAPADMIN_ACTIVATE=%%getBool(%%getVar("activer_phpldapadmin", "non")) PHPLDAPADMIN_ACTIVATE=%%getBool(%%getVar("activer_phpldapadmin", "non"))
PHPLDAPADMIN_LOCAL=1 PHPLDAPADMIN_LOCAL=1
PHPLDAPADMIN_URL=/phpldapadmin PHPLDAPADMIN_URL=/phpldapadmin
# GENCONFIG
GENCONFIG_ACTIVATE=%%getBool(%%getVar("activer_genconfig", "non"))
GENCONFIG_URL=/genconfig