Compare commits
24 Commits
fd1e6ff8a3
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| a2ca914b62 | |||
| f3fa9a33e5 | |||
| 6dd19e07a3 | |||
| c7c8d5be3c | |||
| d99bf81014 | |||
| 71ae93752a | |||
| 95d468913d | |||
| b1817e2c16 | |||
| 573c087b4d | |||
| 0dbe6115ca | |||
| eafa62ffb9 | |||
| 33f49eb78a | |||
| 421276dc83 | |||
| f219b2d339 | |||
| 1d822f66c9 | |||
| ff07c8aee7 | |||
| 598e215ed1 | |||
| ea9febcde0 | |||
| 51d57223c9 | |||
| bb4fefcdda | |||
| 47f708045e | |||
| fdd94bc9a1 | |||
| 366c019c0e | |||
| 7e0de9ee8b |
@@ -41,7 +41,7 @@ CONTAINERS_TYPES=
|
|||||||
|
|
||||||
|
|
||||||
declare -A DockerServNames # le nom des containers correspondant
|
declare -A DockerServNames # le nom des containers correspondant
|
||||||
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" [spip]="${spipServName}" )
|
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" [spip]="${spipServName}" [webdav]="${webdavServName}" )
|
||||||
|
|
||||||
declare -A FilterLsVolume # Pour trouver quel volume appartient à quel container
|
declare -A FilterLsVolume # Pour trouver quel volume appartient à quel container
|
||||||
FilterLsVolume=( [cloud]="cloudMain" [agora]="matterConfig" [wiki]="wikiConf" [wp]="wordpress" [castopod]="castopodMedia" [spip]="spip")
|
FilterLsVolume=( [cloud]="cloudMain" [agora]="matterConfig" [wiki]="wikiConf" [wp]="wordpress" [castopod]="castopodMedia" [spip]="spip")
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ CONTAINERS_TYPES=
|
|||||||
|
|
||||||
|
|
||||||
declare -A DockerServNames # le nom des containers correspondant
|
declare -A DockerServNames # le nom des containers correspondant
|
||||||
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" [spip]="${spipServName}" )
|
DockerServNames=( [cloud]="${nextcloudServName}" [agora]="${mattermostServName}" [wiki]="${dokuwikiServName}" [wp]="${wordpressServName}" [office]="${officeServName}" [paheko]="${pahekoServName}" [castopod]="${castopodServName}" [spip]="${spipServName}" [webdav]="${webdavServName}")
|
||||||
|
|
||||||
declare -A FilterLsVolume # Pour trouver quel volume appartient à quel container
|
declare -A FilterLsVolume # Pour trouver quel volume appartient à quel container
|
||||||
FilterLsVolume=( [cloud]="cloudMain" [agora]="matterConfig" [wiki]="wikiConf" [wp]="wordpress" [castopod]="castopodMedia" [spip]="spip")
|
FilterLsVolume=( [cloud]="cloudMain" [agora]="matterConfig" [wiki]="wikiConf" [wp]="wordpress" [castopod]="castopodMedia" [spip]="spip")
|
||||||
|
|||||||
@@ -94,9 +94,11 @@ traefikHost=dashboard
|
|||||||
vaultwardenHost=koffre
|
vaultwardenHost=koffre
|
||||||
vigiloHost=vigilo
|
vigiloHost=vigilo
|
||||||
webHost=
|
webHost=
|
||||||
|
webdavHost=webdav
|
||||||
webmailHost=webmail
|
webmailHost=webmail
|
||||||
wordpressHost=wp
|
wordpressHost=wp
|
||||||
|
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
# ports internes
|
# ports internes
|
||||||
|
|
||||||
@@ -152,6 +154,7 @@ vaultwardenServName=vaultwardenServ
|
|||||||
vaultwardenDBName=vaultwardenDB
|
vaultwardenDBName=vaultwardenDB
|
||||||
vigiloServName=vigiloServ
|
vigiloServName=vigiloServ
|
||||||
vigiloDBName=vigiloDB
|
vigiloDBName=vigiloDB
|
||||||
|
webdavServName=webdavServ
|
||||||
webServName=webServ
|
webServName=webServ
|
||||||
wordpressServName=wpServ
|
wordpressServName=wpServ
|
||||||
wordpressDBName=wpDB
|
wordpressDBName=wpDB
|
||||||
|
|||||||
@@ -229,8 +229,26 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- spip:/usr/src/spip
|
- spip:/usr/src/spip
|
||||||
#}}
|
#}}
|
||||||
|
#{{webdav
|
||||||
|
webdav:
|
||||||
|
image: httpd:2.4
|
||||||
|
container_name: ${orga}-${webdavServName}
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- orgaNet
|
||||||
|
environment:
|
||||||
|
#surcharge dans compose.override.yml
|
||||||
|
- LDAP_USERS=
|
||||||
|
- DOMAIN=${domain}
|
||||||
|
- LDAP_ROOT=${ldap_root}
|
||||||
|
volumes:
|
||||||
|
- wordpress:/var/www/webdav
|
||||||
|
- ./webdav-conf/httpd.conf:/usr/local/apache2/conf/httpd.conf:ro
|
||||||
|
- ./webdav-conf/httpd-webdav.conf:/usr/local/apache2/conf/extra/httpd-webdav.conf:ro
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.${orga}-${webdavServName}.rule=Host(`${orga}-${webdavHost}.${domain}`)"
|
||||||
|
#}}
|
||||||
|
|
||||||
|
|
||||||
#{{services
|
#{{services
|
||||||
|
|||||||
+108
-1
@@ -5,7 +5,8 @@
|
|||||||
#KAN: ???
|
#KAN: ???
|
||||||
|
|
||||||
#MAJ le 04/06/2026 by fab: créer une entrée orga dans le dns pour simplifier les url (avec utilisation de compose-override.yml)
|
#MAJ le 04/06/2026 by fab: créer une entrée orga dans le dns pour simplifier les url (avec utilisation de compose-override.yml)
|
||||||
|
#MAJ le 16/06/2026 by fab: ajouter le menu +/-webdav
|
||||||
|
#MAJ le 20/06/2026 by fab: générer le contenu du mail qui est à envoyer à l'orga après une création de service
|
||||||
|
|
||||||
# XXX pb arret des services retiré
|
# XXX pb arret des services retiré
|
||||||
|
|
||||||
@@ -40,6 +41,7 @@ usage(){
|
|||||||
echo " +/- matter*|agora : on/off agora"
|
echo " +/- matter*|agora : on/off agora"
|
||||||
echo " +/- wiki : on/off wiki"
|
echo " +/- wiki : on/off wiki"
|
||||||
echo " +/- wp|word* : on/off wp"
|
echo " +/- wp|word* : on/off wp"
|
||||||
|
echo " +/- webdav : on/off webdav"
|
||||||
echo " +/- casto*|pod : on/off castopod"
|
echo " +/- casto*|pod : on/off castopod"
|
||||||
echo " +/- spip : on/off spip"
|
echo " +/- spip : on/off spip"
|
||||||
echo " x[GMk] : set quota"
|
echo " x[GMk] : set quota"
|
||||||
@@ -149,6 +151,7 @@ export collabora=$(flagInCompose docker-compose.yml collabora: off)
|
|||||||
export agora=$(flagInCompose docker-compose.yml agora: off)
|
export agora=$(flagInCompose docker-compose.yml agora: off)
|
||||||
export wiki=$(flagInCompose docker-compose.yml dokuwiki: off)
|
export wiki=$(flagInCompose docker-compose.yml dokuwiki: off)
|
||||||
export wp=$(flagInCompose docker-compose.yml wordpress: off)
|
export wp=$(flagInCompose docker-compose.yml wordpress: off)
|
||||||
|
export webdav=$(flagInCompose docker-compose.yml webdav: off)
|
||||||
export castopod=$(flagInCompose docker-compose.yml castopod: off)
|
export castopod=$(flagInCompose docker-compose.yml castopod: off)
|
||||||
export spip=$(flagInCompose docker-compose.yml spip: off)
|
export spip=$(flagInCompose docker-compose.yml spip: off)
|
||||||
export db="off"
|
export db="off"
|
||||||
@@ -202,6 +205,9 @@ for ARG in "$@"; do
|
|||||||
'-wp' | '-word'* )
|
'-wp' | '-word'* )
|
||||||
wp="off"
|
wp="off"
|
||||||
;;
|
;;
|
||||||
|
'-webdav' )
|
||||||
|
webdav="off"
|
||||||
|
;;
|
||||||
'-pod' | '-casto'* )
|
'-pod' | '-casto'* )
|
||||||
castopod="off"
|
castopod="off"
|
||||||
;;
|
;;
|
||||||
@@ -233,6 +239,9 @@ for ARG in "$@"; do
|
|||||||
DBaInitialiser="$DBaInitialiser wp"
|
DBaInitialiser="$DBaInitialiser wp"
|
||||||
INITCMD2="$INITCMD2 -wp"
|
INITCMD2="$INITCMD2 -wp"
|
||||||
;;
|
;;
|
||||||
|
'+webdav' )
|
||||||
|
webdav="on"
|
||||||
|
;;
|
||||||
'+pod' | '+casto'* )
|
'+pod' | '+casto'* )
|
||||||
castopod="on"
|
castopod="on"
|
||||||
DBaInitialiser="$DBaInitialiser castopod"
|
DBaInitialiser="$DBaInitialiser castopod"
|
||||||
@@ -316,6 +325,12 @@ if [[ "${wp}" = "on" ]]; then
|
|||||||
else
|
else
|
||||||
DEL_DOMAIN+="${ORGA}-${wordpressHost} "
|
DEL_DOMAIN+="${ORGA}-${wordpressHost} "
|
||||||
fi
|
fi
|
||||||
|
if [[ "${webdav}" = "on" ]]; then
|
||||||
|
DOMAIN_AREA+=" - ${ORGA}-\${webdavServName}:${ORGA}-\${webdavHost}.\${domain}\n"
|
||||||
|
ADD_DOMAIN+="${ORGA}-${webdavHost} "
|
||||||
|
else
|
||||||
|
DEL_DOMAIN+="${ORGA}-${webdavHost} "
|
||||||
|
fi
|
||||||
if [[ "${castopod}" = "on" ]]; then
|
if [[ "${castopod}" = "on" ]]; then
|
||||||
DOMAIN_AREA+=" - ${ORGA}-\${castopodServName}:${ORGA}-\${castopodHost}.\${domain}\n"
|
DOMAIN_AREA+=" - ${ORGA}-\${castopodServName}:${ORGA}-\${castopodHost}.\${domain}\n"
|
||||||
ADD_DOMAIN+="${ORGA}-${castopodHost} "
|
ADD_DOMAIN+="${ORGA}-${castopodHost} "
|
||||||
@@ -431,6 +446,8 @@ if [[ -n "${STAGE_DEFAULT}${STAGE_CREATE}" ]]; then
|
|||||||
ln -sf ../../config/orgaTmpl/wiki-conf/
|
ln -sf ../../config/orgaTmpl/wiki-conf/
|
||||||
ln -sf ../../config/orgaTmpl/reload.sh
|
ln -sf ../../config/orgaTmpl/reload.sh
|
||||||
ln -sf ../../config/orgaTmpl/init-db.sh
|
ln -sf ../../config/orgaTmpl/init-db.sh
|
||||||
|
ln -sf ../../config/orgaTmpl/webdav-conf/
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d "${KAZ_KEY_DIR}/orgas/$ORGA/" ]; then
|
if [ ! -d "${KAZ_KEY_DIR}/orgas/$ORGA/" ]; then
|
||||||
@@ -494,6 +511,9 @@ if [[ -n "${STAGE_DEFAULT}" ]]; then
|
|||||||
wp)
|
wp)
|
||||||
DockerServName="${ORGA}-${wordpressServName}"
|
DockerServName="${ORGA}-${wordpressServName}"
|
||||||
;;
|
;;
|
||||||
|
webdav)
|
||||||
|
DockerServName="${ORGA}-${webdavServName}"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
if checkDockerRunning "${DockerServName}" "${service}"; then
|
if checkDockerRunning "${DockerServName}" "${service}"; then
|
||||||
printKazMsg " - stop ${service}"
|
printKazMsg " - stop ${service}"
|
||||||
@@ -524,3 +544,90 @@ if [[ -n "${STAGE_DEFAULT}" ]]; then
|
|||||||
# ########## update status web page
|
# ########## update status web page
|
||||||
${KAZ_COMP_DIR}/web/web-gen.sh
|
${KAZ_COMP_DIR}/web/web-gen.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
##### DEBUT MAIL
|
||||||
|
#construction du mail qui peut être envoyé à l'orga en cas de création de services
|
||||||
|
|
||||||
|
if [[ -n "${STAGE_DEFAULT}${STAGE_CREATE}" ]]; then
|
||||||
|
|
||||||
|
GREEN='\e[32m'
|
||||||
|
RESET='\e[0m'
|
||||||
|
|
||||||
|
MAIL="Bonjour,
|
||||||
|
|
||||||
|
et hop ! voici les accès au(x) service(s) demandé(s):
|
||||||
|
"
|
||||||
|
|
||||||
|
if [[ "${wp}" = "on" ]]; then
|
||||||
|
MAIL_ADMIN=`grep WORDPRESS_ADMIN_USER /kaz/secret/orgas/${ORGA}/env-wpServ | cut -f2 -d=`
|
||||||
|
MAIL_ADMIN_PASS=`grep WORDPRESS_ADMIN_PASSWORD /kaz/secret/orgas/${ORGA}/env-wpServ | cut -f2 -d=`
|
||||||
|
|
||||||
|
MAIL="$MAIL
|
||||||
|
Site Web:
|
||||||
|
adresse: https://${ORGA}-wp.kaz.bzh
|
||||||
|
identifiant: ${MAIL_ADMIN}
|
||||||
|
mot de passe: ${MAIL_ADMIN_PASS}
|
||||||
|
|
||||||
|
doc: https://wiki.kaz.bzh/wordpress/start
|
||||||
|
La première chose à faire est de paramétrer ton site pour qu'il puisse envoyer des mails: https://wiki.kaz.bzh/wordpress/premiere_connexion
|
||||||
|
|
||||||
|
Si tu as envie d'avoir comme adresse de site , https://${ORGA}.kaz.bzh au lieu de https://${ORGA}-wp.kaz.bzh, fais nous signe !
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${cloud}" = "on" ]]; then
|
||||||
|
MAIL_ADMIN=`grep NEXTCLOUD_ADMIN_USER /kaz/secret/orgas/${ORGA}/env-nextcloudServ | cut -f2 -d=`
|
||||||
|
MAIL_ADMIN_PASS=`grep NEXTCLOUD_ADMIN_PASSWORD /kaz/secret/orgas/${ORGA}/env-nextcloudServ | cut -f2 -d=`
|
||||||
|
|
||||||
|
MAIL="$MAIL
|
||||||
|
Cloud:
|
||||||
|
adresse: https://${ORGA}-cloud.kaz.bzh
|
||||||
|
identifiant: ${MAIL_ADMIN}
|
||||||
|
mot de passe: ${MAIL_ADMIN_PASS}
|
||||||
|
|
||||||
|
doc: https://wiki.kaz.bzh/nextcloud/start
|
||||||
|
La première chose à faire est de paramétrer ton cloud pour qu'il puisse envoyer des mails: https://wiki.kaz.bzh/nextcloud/administration/start#pour_parametrer_l_envoi_des_mails_de_notification_depuis_votre_cloud
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${paheko}" = "on" ]]; then
|
||||||
|
MAIL_ADMIN_PASS=$(apg -n 1 -m 16 -M NCL)
|
||||||
|
|
||||||
|
MAIL="$MAIL
|
||||||
|
Paheko:
|
||||||
|
adresse: https://${ORGA}-paheko.kaz.bzh/admin/
|
||||||
|
identifiant: ${GREEN}--mettre ici le mail de l'orga--${RESET}
|
||||||
|
mot de passe: ${MAIL_ADMIN_PASS}
|
||||||
|
|
||||||
|
doc: https://wiki.kaz.bzh/paheko/start
|
||||||
|
"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAIL="$MAIL
|
||||||
|
Pour tes prochaines questions, nous t'invitons à les poser sur notre agora, dans le canal \"Un soucis, une question\" sur
|
||||||
|
https://agora.kaz.bzh/kaz/channels/une-question--un-soucis
|
||||||
|
Il faut te connecter avec ton compte kaz.
|
||||||
|
|
||||||
|
Ainsi, tout le monde pourra répondre mais aussi bénéficier des réponses apportées. On la joue collectif.
|
||||||
|
|
||||||
|
Bonne journée 😉
|
||||||
|
|
||||||
|
L'équipe Sysadmin, pour la collégiale de Kaz."
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${GREEN}"
|
||||||
|
echo "*****************************************************"
|
||||||
|
echo "Voici le mail à copier/coller et à envoyer à l'orga :"
|
||||||
|
echo "*****************************************************"
|
||||||
|
echo -e "${RESET}"
|
||||||
|
echo -e "$MAIL"
|
||||||
|
echo -e "${GREEN}"
|
||||||
|
echo "MAIS AVANT D'ENVOYER CE MAIL, IL FAUT :
|
||||||
|
* completer la fiche paheko de l'orga en cochant les services crees"
|
||||||
|
|
||||||
|
if [[ "${paheko}" = "on" ]]; then
|
||||||
|
echo " * lancer /kaz/dockers/paheko/docker-compose-gen.sh, restart le docker puis finir d'installer paheko en allant sur https://${ORGA}-paheko.kaz.bzh/admin/"
|
||||||
|
fi
|
||||||
|
echo -e ${RESET}
|
||||||
|
##### FIN MAIL
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ OVERRIDE_FILE="compose.override.yml"
|
|||||||
# sauvegarde si le fichier existe déjà
|
# sauvegarde si le fichier existe déjà
|
||||||
if [ -f "$OVERRIDE_FILE" ]; then
|
if [ -f "$OVERRIDE_FILE" ]; then
|
||||||
cp "$OVERRIDE_FILE" "${OVERRIDE_FILE}.$(date +%Y%m%d-%H%M%S).bak"
|
cp "$OVERRIDE_FILE" "${OVERRIDE_FILE}.$(date +%Y%m%d-%H%M%S).bak"
|
||||||
|
echo "'tention, un $OVERRIDE_FILE existe déjà, il vient d'être sauvegardé !"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#on récupère toutes les variables utiles
|
#on récupère toutes les variables utiles
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
reverse-proxy:
|
reverse-proxy:
|
||||||
image: traefik:v3.7.1
|
image: traefik:v3.7.5
|
||||||
container_name: ${traefikServName}
|
container_name: ${traefikServName}
|
||||||
restart: ${restartPolicy}
|
restart: ${restartPolicy}
|
||||||
# Enables the web UI and tells Traefik to listen to docker
|
# Enables the web UI and tells Traefik to listen to docker
|
||||||
|
|||||||
Reference in New Issue
Block a user