Browse Source

SYNC 20220507

pull/3/head
François 2 years ago
parent
commit
d0dc847b6e
  1. 6
      bin/createUser.sh
  2. 81
      bin/interoGarradin.sh
  3. 2
      bin/updateCloudApp.sh
  4. 1
      config/skip-file.txt
  5. 5
      dockers/etherpad/Dockerfile
  6. 30
      dockers/garradin/Dockerfile
  7. 37
      dockers/garradin/build.sh
  8. 15
      dockers/garradin/config/factory_cron.sh
  9. 2
      dockers/garradin/docker-compose.yml
  10. 37
      dockers/garradin/download_inutilise_cf_build.sh
  11. 2
      dockers/mattermost/app/Dockerfile
  12. 2
      dockers/postfix/Dockerfile

6
bin/createUser.sh

@ -242,8 +242,8 @@ do
EQUIPE_AGORA=${EQUIPE_AGORA,,}
QUOTA=$(awk -F ";" '{print $15}' <<< ${ligne} | xargs)
# IDENT_KAZ=$(unaccent utf8 ${PRENOM,,}.${NOM,,})
IDENT_KAZ=$(unaccent utf8 ${NOM,,})
IDENT_KAZ=$(unaccent utf8 ${PRENOM,,}.${NOM,,})
# IDENT_KAZ=$(unaccent utf8 ${NOM,,})
EMAIL_SOUHAITE=${tab_email[EMAIL_SOUHAITE]}
EMAIL_SECOURS=${tab_email[EMAIL_SECOURS]}
@ -612,7 +612,7 @@ if [ "${NB_SERVICES_DEDIES}" != "0" ];then
fi
#on envoie le mail de bienvenu
MAIL_KAZ="Bonjour ${PRENOM},
MAIL_KAZ="Bonjour,
Bienvenue chez KAZ!

81
bin/interoGarradin.sh

@ -54,13 +54,17 @@ Int_Garradin_Action() {
# $1 est une action;
ACTION=$1
OPTION=$2
#[ "$OPTION" = "silence" ] || echo -e "${RED}Action = ${GREEN} ${ACTION}${NC}"
# on envoie la requête sur le serveur garradin avec la clause à créer
curl -s ${URL_GARRADIN}/api/sql -d "SELECT * from membres where action_auto='${ACTION}';" >>${TFILE_INT_GARRAGIN_ACTION}
REP_ID=$(jq -c '.results[].id ' ${TFILE_INT_GARRAGIN_ACTION})
[ "$OPTION" = "silence" ] || echo -e "${RED}Nombre de compte ${ACTION} ${NC}= ${GREEN} $(echo ${REP_ID} | wc -w) ${NC}"
if [ ! -z "${REP_ID}" ]
then
[ "$OPTION" = "silence" ] || echo -e "${RED}Nombre de compte ${ACTION} ${NC}= ${GREEN} $(echo ${REP_ID} | wc -w) ${NC}"
if [ -f "$FILE_CREATEUSER" ]
then
#[ "$OPTION" = "silence" ] || echo "Le fichier des users existe , je le renomme en $FILE_CREATEUSER.$(date +%d-%m-%Y-%H:%M:%S)"
mv $FILE_CREATEUSER $FILE_CREATEUSER.$(date +%d-%m-%Y-%H:%M:%S)
fi
echo "# -------- Fichier généré le $(date +%d-%m-%Y-%H:%M:%S) ----------">${FILE_CREATEUSER}
echo "${TEXTE}" >>${FILE_CREATEUSER}
for VAL_ID in ${REP_ID}
@ -74,47 +78,58 @@ Int_Garradin_Action() {
# on compte le nom de champs dans la zone nom pour gérer les noms et prénoms composés
# si il y a 3 champs, on associe les 2 premieres valeurs avec un - et on laisse le 3ème identique
# si il y a 4 champs on associe les 1 et le 2 avec un tiret et le 3 et 4 avec un tiret
COMPTE_NOM=$(echo $nom | awk -F' ' '{for (i=1; i != NF; i++); print i;}')
case "${COMPTE_NOM}" in
2)
nom_ok=$(echo $nom | awk -F' ' '{print $1}')
prenom_ok=$(echo $nom | awk -F' ' '{print $2}')
;;
3)
nom_ok=$(echo $nom | awk -F' ' '{print $1"-"$2}')
prenom_ok=$(echo $nom | awk -F' ' '{print $3}')
;;
4)
nom_ok=$(echo $nom | awk -F' ' '{print $1"-"$2}')
prenom_ok=$(echo $nom | awk -F' ' '{print $3"-"$4}')
;;
esac
cloud=$(echo $cloud | sed -e 's/null/N/g' | sed -e 's/1/O/g')
garradin=$(echo $garradin | sed -e 's/null/N/g' | sed -e 's/1/O/g')
wordpress=$(echo $wordpress | sed -e 's/null/N/g' | sed -e 's/1/O/g')
agora=$(echo $agora | sed -e 's/null/N/g' | sed -e 's/1/O/g')
docuwiki=$(echo $docuwiki | sed -e 's/null/N/g' | sed -e 's/1/O/g')
if [ "$nom_orga" != "null" ]
# on met les champs nom_ok et prenom_ok à blanc
nom_ok=""
prenom_ok=""
# on regarde si le nom de l' orga est renseigné , si c' est le cas ( non null) alors le nom
# est le nom de l' orga et le prénom est forcé à la valeur Organisation
if [ "$nom_orga" = null ]
then
equipe_agora=$nom_orga
groupe_nc_base=" "
nc_base="N"
admin_orga="O"
else
[ "$OPTION" = "silence" ] || echo -e "${NC}Abonné ${GREEN}${nom}${NC}"
COMPTE_NOM=$(echo $nom | awk -F' ' '{for (i=1; i != NF; i++); print i;}')
case "${COMPTE_NOM}" in
2)
nom_ok=$(echo $nom | awk -F' ' '{print $1}')
prenom_ok=$(echo $nom | awk -F' ' '{print $2}')
;;
*)
echo "Il faut corriger le champ nom de garradin, je quitte et supprime le fichier ${FILE_CREATEUSER}"
rm -f $FILE_CREATEUSER
exit
esac
# comme l' orga est à null nom orga est a vide, pas d' admin orga, on met dans l' agora générale
# pas d' équipe agora et de groupe nextcloud spécifique
nom_orga=" "
admin_orga="N"
nc_base="O"
equipe_agora=" "
groupe_nc_base=" "
else
# L' orga est renseigné dans garradin donc les nom et prenoms sont forcé a nom_orga et Organisation
# un équipe agora portera le nom de l' orga, le compte ne sera pas créé dans le nextcloud général
# et le compte est admin de son orga
[ "$OPTION" = "silence" ] || echo -e "${NC}Orga : ${GREEN}${nom_orga}${NC}"
nom_ok=$nom_orga
prenom_ok=organisation
equipe_agora=$nom_orga
groupe_nc_base=" "
nc_base="N"
admin_orga="O"
fi
# Pour le reste on renomme les null en N ( non ) et les valeurs 1 en O ( Oui)
cloud=$(echo $cloud | sed -e 's/null/N/g' | sed -e 's/1/O/g')
garradin=$(echo $garradin | sed -e 's/null/N/g' | sed -e 's/1/O/g')
wordpress=$(echo $wordpress | sed -e 's/null/N/g' | sed -e 's/1/O/g')
agora=$(echo $agora | sed -e 's/null/N/g' | sed -e 's/1/O/g')
docuwiki=$(echo $docuwiki | sed -e 's/null/N/g' | sed -e 's/1/O/g')
# et enfin on écrit dans le fichier
echo "$nom_ok;$prenom_ok;$email;$email_secours;$nom_orga;$admin_orga;$cloud;$garradin;$wordpress;$agora;$docuwiki;$nc_base;$groupe_nc_base;$equipe_agora;$quota_disque">>${FILE_CREATEUSER}
done
else
echo "Rien à créer"
fi
}
if [ -f "$FILE_CREATEUSER" ]
then
echo "Le fichier des users existe , je le renomme en $FILE_CREATEUSER.$(date +%d-%m-%Y-%H:%M:%S)"
mv $FILE_CREATEUSER $FILE_CREATEUSER.$(date +%d-%m-%Y-%H:%M:%S)
fi
#Int_Garradin_Action "A créer" "silence"
Int_Garradin_Action "A créer"

2
bin/updateCloudApp.sh

@ -5,7 +5,7 @@ setKazVars
. $DOCKERS_ENV
. $KAZ_ROOT/secret/SetAllPass.sh
LISTE_APPS="tasks calendar contacts bookmarks richdocuments richdocumentscode external drawio rainloop"
LISTE_APPS="tasks calendar contacts bookmarks richdocuments richdocumentscode external drawio rainloop ransomware_protection"
echo -e "$NC"
for cloud in $(docker ps | grep -i cloud |awk '{print $12}')

1
config/skip-file.txt

@ -84,3 +84,4 @@ config/skip-email.txt
dockers/sympa/filter/domainname
bin/DEADJOE
dockers/sympa/reload.sh.non.utilisé
dockers/garradin/input-form_php7.4.diff

5
dockers/etherpad/Dockerfile

@ -53,6 +53,11 @@ WORKDIR "${EP_DIR}"
COPY --chown=etherpad:0 git/etherpad-lite/ ./
RUN src/bin/installDeps.sh && rm -rf ~/.npm/_cacache
# RUN { [ -z "${ETHERPAD_PLUGINS}" ] || \
# npm install --no-save --legacy-peer-deps ${ETHERPAD_PLUGINS}; } && \
# src/bin/installDeps.sh && \
# rm -rf ~/.npm
RUN [ -z "${ETHERPAD_PLUGINS}" ] || for PLUGIN_NAME in ${ETHERPAD_PLUGINS}; do npm install "${PLUGIN_NAME}" || exit 1; done
# Copy the configuration file.

30
dockers/garradin/Dockerfile

@ -1,6 +1,12 @@
FROM php:7.4-apache
#FROM php:7.4-apache
#FROM php:8.1-apache
FROM php:8.0-apache
# pour upgrader garradin, il suffit de modifier le numéro de version ici
ENV GARRADIN_VERSION 1.1.24
ENV GARRADIN_DOWNLOAD_DIR download/garradin
ENV GARRADIN_DIR /usr/share/garradin
########################################
# APT local cache
@ -29,8 +35,8 @@ RUN docker-php-ext-install intl
RUN docker-php-ext-install -j$(nproc) pdo ctype
RUN /usr/local/bin/composer-setup.sh
ENV GARRADIN_VERSION 1.1.22
ENV GARRADIN_DIR /usr/share/garradin
#on télécharge le version de garradin (fait dans download.sh)
#curl -O https://fossil.kd2.org/garradin/uv/garradin-${GARRADIN_VERSION}.tar.gz --output ${GARRADIN_DOWNLOAD_DIR}/
ADD "${GARRADIN_DOWNLOAD_DIR}/garradin-${GARRADIN_VERSION}.tar.gz" /usr/share/
RUN mv /usr/share/garradin-${GARRADIN_VERSION} ${GARRADIN_DIR}
@ -45,9 +51,27 @@ php_value memory_limit 256M\n\
FallbackResource /_route.php\n\
'> ${GARRADIN_DIR}/www/.htaccess
#install prince pour génération pdf
RUN curl https://www.princexml.com/download/prince_14.2-1_debian10_amd64.deb --output prince.deb
RUN apt-get install libfontconfig1 libgif7 libjpeg62-turbo liblcms2-2 libtiff5 -y
RUN dpkg -i prince.deb
#install du patch pour l'input en php7.4
COPY dockers/garradin/input-form_php7.4.diff ${GARRADIN_DIR}/include/lib/Garradin/
RUN patch /usr/share/garradin/include/lib/Garradin/Template.php /usr/share/garradin/include/lib/Garradin/input-form_php7.4.diff
COPY dockers/garradin/config/factory_cron.sh ${GARRADIN_DIR}/
COPY dockers/garradin/config/setupWebRights.sh ${GARRADIN_DIR}/
RUN mkdir ${GARRADIN_DIR}/users
#install cron pour factory_cron.sh
RUN apt-get install cron joe rsyslog -y
RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf
RUN echo "0 0 * * * cd ${GARRADIN_DIR} && ${GARRADIN_DIR}/factory_cron.sh" >> /var/spool/cron/crontabs/root
RUN chmod 600 /var/spool/cron/crontabs/root
RUN sed -i "/exec/i\service cron start\n" /usr/local/bin/docker-php-entrypoint
RUN ln -sf /usr/local/bin/php /usr/bin/
# Set owner web server
RUN chown -R www-data: ${GARRADIN_DIR}

37
dockers/garradin/build.sh

@ -4,6 +4,43 @@ KAZ_ROOT=$(cd "$(dirname $0)/../.."; pwd)
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
setKazVars
###########################################################################"
#on récupère la dernière version de garradin et tous les plugin
GAR_VER=$(grep "^ENV GARRADIN_VERSION" Dockerfile | awk '{print $3}')
FCT_VER="0.7.3"
echo "VERSION GARRADIN : $GAR_VER"
echo "VERSION FACTURATION : $FCT_VER"
downloadFile () {
# $1 URL to download
if [ ! -f "$(basename "$1")" ]; then
printKazMsg " - load $1"
curl -L -O "$1"
fi
}
mkdir -p "${KAZ_DNLD_DIR}/garradin"
cd "${KAZ_DNLD_DIR}/garradin"
#pour être certain de récupérer les dernières versions de plugin
rm * -f
printKazMsg "\n *** Download garradin on ${KAZ_DNLD_DIR}"
downloadFile "https://fossil.kd2.org/garradin/uv/garradin-${GAR_VER}.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/caisse.tar.gz"
#downloadFile "https://fossil.kd2.org/garradin-plugins/uv/dompdf.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/helloasso.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/ouvertures.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/reservations.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/stock_velos.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/taima.tar.gz"
downloadFile "https://gitlab.com/JBthePenguin/garradin-plugin-materiels/-/raw/main/materiels.tar.gz"
downloadFile "https://noizette.net/archive/garradin-plugin-facturation/${FCT_VER}/facturation.tar.gz"
###########################################################################
printKazMsg "\n *** Création du Dockerfile garradin"
cd "${KAZ_ROOT}"

15
dockers/garradin/config/factory_cron.sh

@ -0,0 +1,15 @@
#!/bin/sh
# Répertoire où sont stockées les données des utilisateurs
# veiller à ce que ce soit le même que dans config.local.php
FACTORY_USER_DIRECTORY="users"
# Chemin vers le script cron.php de Garradin
GARRADIN_CRON_SCRIPT="scripts/cron.php"
for user in $(cd ${FACTORY_USER_DIRECTORY} && ls -1d */)
do
GARRADIN_FACTORY_USER=$(basename "$user") /usr/bin/php $GARRADIN_CRON_SCRIPT
echo $GARRADIN_FACTORY_USER
done

2
dockers/garradin/docker-compose.yml

@ -9,7 +9,9 @@ services:
volumes:
- ./config/garradin.conf:/etc/apache2/sites-available/000-default.conf
- ./config/config.local.php:/usr/share/garradin/config.local.php
- ./config/factory_cron.sh:/usr/share/garradin/factory_cron.sh
# - ./config/cron.php:/usr/share/garradin/scripts/cron.php
- assoUsers:/usr/share/garradin/users
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro

37
dockers/garradin/download_inutilise_cf_build.sh

@ -0,0 +1,37 @@
#!/bin/bash
SERV_DIR=$(cd $(dirname $0); pwd)
KAZ_ROOT=$(cd $(dirname $0)/../..; pwd)
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
setKazVars
GAR_VER=$(grep "^ENV GARRADIN_VERSION" Dockerfile | awk '{print $3}')
FCT_VER="0.7.1"
echo "VERSION GARRADIN : $GAR_VER"
echo "VERSION FACTURATION : $FCT_VER"
downloadFile () {
# $1 URL to download
if [ ! -f "$(basename "$1")" ]; then
printKazMsg " - load $1"
curl -L -O "$1"
fi
}
mkdir -p "${KAZ_DNLD_DIR}/garradin"
cd "${KAZ_DNLD_DIR}/garradin"
printKazMsg "\n *** Download garradin on ${KAZ_DNLD_DIR}"
downloadFile "https://fossil.kd2.org/garradin/uv/garradin-${GAR_VER}.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/caisse.tar.gz"
#downloadFile "https://fossil.kd2.org/garradin-plugins/uv/dompdf.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/helloasso.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/ouvertures.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/reservations.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/stock_velos.tar.gz"
downloadFile "https://fossil.kd2.org/garradin-plugins/uv/taima.tar.gz"
downloadFile "https://gitlab.com/JBthePenguin/garradin-plugin-materiels/-/raw/main/materiels.tar.gz"
downloadFile "https://noizette.net/archive/garradin-plugin-facturation/${FCT_VER}/facturation.tar.gz"

2
dockers/mattermost/app/Dockerfile

@ -2,7 +2,7 @@ FROM alpine:3.10
# Some ENV variables
ENV PATH="/mattermost/bin:${PATH}"
ENV MM_VERSION=6.5.0
ENV MM_VERSION=6.6.0
ENV MM_INSTALL_TYPE=docker
# Build argument to set Mattermost edition

2
dockers/postfix/Dockerfile

@ -1,4 +1,4 @@
FROM docker.io/mailserver/docker-mailserver:10.5
FROM docker.io/mailserver/docker-mailserver:11.0
########################################
# APT local cache

Loading…
Cancel
Save