docker nineboard

This commit is contained in:
afornerot 2023-11-17 16:40:41 +01:00
parent 8161f214dd
commit d9556193dd
14 changed files with 114 additions and 2 deletions

View File

@ -6,6 +6,7 @@
<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.ninegate.local' source='envole-ninegate.env' rm='True'/>
<file filelist='envole' name='/usr/share/envole/docker/env/.env.zapp.nineboard.local' source='envole-nineboard.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.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/env/.env.zapp.phpldapadmin.local' source='envole-phpldapadmin.env' rm='True'/>
@ -58,6 +59,8 @@
<!-- APPLICATIONS --> <!-- APPLICATIONS -->
<variable type='oui/non' name='activer_ninegate' description='Activer Ninegate'><value>oui</value></variable> <variable type='oui/non' name='activer_ninegate' description='Activer Ninegate'><value>oui</value></variable>
<variable type='oui/non' name='activer_nineboard' description='Activer Nineboard'><value>non</value></variable>
<variable type='oui/non' name='activer_nextcloud' description='Activer Nextcloud'><value>non</value></variable> <variable type='oui/non' name='activer_nextcloud' description='Activer Nextcloud'><value>non</value></variable>
<variable type='oui/non' name='activer_adminer' description='Activer Adminer'><value>non</value></variable> <variable type='oui/non' name='activer_adminer' description='Activer Adminer'><value>non</value></variable>
<variable type='oui/non' name='activer_phpldapadmin' description='Activer Phpldapadmin'><value>non</value></variable> <variable type='oui/non' name='activer_phpldapadmin' description='Activer Phpldapadmin'><value>non</value></variable>
@ -69,6 +72,7 @@
<variable type='string' name='keycload_userpassword' mandatory='True' description='Password compte admin-keycloak Keycloak'></variable> <variable type='string' name='keycload_userpassword' mandatory='True' description='Password compte admin-keycloak Keycloak'></variable>
<variable type='string' name='envole_adminpassword' mandatory='True' description='Password compte administrateur applicatifs'></variable> <variable type='string' name='envole_adminpassword' mandatory='True' description='Password compte administrateur applicatifs'></variable>
<variable type='string' name='ninegate_secret' mandatory='True' description='Secret key Ninegate'></variable> <variable type='string' name='ninegate_secret' mandatory='True' description='Secret key Ninegate'></variable>
<variable type='string' name='nineboard_secret' mandatory='True' description='Secret key Nineboard'></variable>
<!-- NINEGATE --> <!-- NINEGATE -->
<variable type='oui/non' name='ninegate_syncldap' description='Synchroniser les utilisateurs vers annuaire'><value>oui</value></variable> <variable type='oui/non' name='ninegate_syncldap' description='Synchroniser les utilisateurs vers annuaire'><value>oui</value></variable>
@ -86,6 +90,10 @@
<variable type='oui/non' name='ninegate_forcetheme' description="Forcer l'utilisation d'un thème"><value>non</value></variable> <variable type='oui/non' name='ninegate_forcetheme' description="Forcer l'utilisation d'un thème"><value>non</value></variable>
<variable type='string' name='ninegate_forcethemename' description="Nom du thème"></variable> <variable type='string' name='ninegate_forcethemename' description="Nom du thème"></variable>
<!-- NINEBOARD -->
<variable name='nineboard_local' type='oui/non' description='Nineboard local'><value>oui</value></variable>
<variable name='nineboard_url' type='string' mandatory='True' description='Nineboard URL'></variable>
<!-- NEXTCLOUD --> <!-- NEXTCLOUD -->
<variable name='nextcloud_local' type='oui/non' description='Nextcloud local'><value>oui</value></variable> <variable name='nextcloud_local' type='oui/non' description='Nextcloud local'><value>oui</value></variable>
<variable name='nextcloud_url' type='string' mandatory='True' description='Nextcloud URL'></variable> <variable name='nextcloud_url' type='string' mandatory='True' description='Nextcloud URL'></variable>
@ -104,6 +112,7 @@
<separator name="activer_ninegate">Applications</separator> <separator name="activer_ninegate">Applications</separator>
<separator name="openldap_password">Secrets</separator> <separator name="openldap_password">Secrets</separator>
<separator name="ninegate_syncldap">Ninegate Portail</separator> <separator name="ninegate_syncldap">Ninegate Portail</separator>
<separator name="nineboard_local">Nineboard</separator>
<separator name="nextcloud_local">Nextcloud</separator> <separator name="nextcloud_local">Nextcloud</separator>
</separators> </separators>
</variables> </variables>
@ -190,6 +199,7 @@
<target type='variable'>database_rootpassword</target> <target type='variable'>database_rootpassword</target>
<target type='variable'>database_userpassword</target> <target type='variable'>database_userpassword</target>
<target type='variable'>activer_ninegate</target> <target type='variable'>activer_ninegate</target>
<target type='variable'>activer_nineboard</target>
<target type='variable'>activer_nextcloud</target> <target type='variable'>activer_nextcloud</target>
<target type='variable'>activer_adminer</target> <target type='variable'>activer_adminer</target>
</condition> </condition>
@ -257,6 +267,11 @@
<target type='variable'>ninegate_forcethemename</target> <target type='variable'>ninegate_forcethemename</target>
</condition> </condition>
<condition name='hidden_if_in' source='activer_nineboard'>
<param>non</param>
<target type='variable'>nineboard_secret</target>
</condition>
<condition name='hidden_if_not_in' source='openldap_ldaptemplate'> <condition name='hidden_if_not_in' source='openldap_ldaptemplate'>
<param>scribe</param> <param>scribe</param>
@ -294,6 +309,20 @@
</condition> </condition>
<!-- NINEBOARD -->
<condition name='hidden_if_in' source='activer_nineboard'>
<param>non</param>
<target type='variable'>nineboard_local</target>
</condition>
<condition name='hidden_if_in' source='nineboard_local'>
<param>oui</param>
<target type='variable'>nineboard_url</target>
</condition>
<!-- NEXTCLOUD --> <!-- NEXTCLOUD -->
<condition name='hidden_if_in' source='activer_nextcloud'> <condition name='hidden_if_in' source='activer_nextcloud'>
<param>non</param> <param>non</param>

View File

@ -98,6 +98,23 @@ services:
- ./volume/nextcloud/envole:/envole - ./volume/nextcloud/envole:/envole
- ./volume/nextcloud/prestart:/docker-entrypoint-hooks.d/before-starting - ./volume/nextcloud/prestart:/docker-entrypoint-hooks.d/before-starting
nineboard:
image: reg.cadoles.com/envole/nineboard
container_name: envole-nineboard
restart: always
healthcheck:
test: curl --fail http://localhost/nineboard || exit 1
interval: 1s
timeout: 60s
env_file: ./.env.local
networks:
- envole-network
ports:
- "9002:80"
volumes:
- ./volume/nineboard/data/private:/app/uploads
- ./volume/nineboard/data/public:/app/public/uploads
adminer: adminer:
image: docker.io/library/adminer image: docker.io/library/adminer
container_name: envole-adminer container_name: envole-adminer

6
docker/env/.env vendored
View File

@ -87,6 +87,12 @@ NEXTCLOUD_LOCAL=1
NEXTCLOUD_URL=${PROTOCOLE}://${WEB_URL}:9001 NEXTCLOUD_URL=${PROTOCOLE}://${WEB_URL}:9001
NEXTCLOUD_SAMBA=0 NEXTCLOUD_SAMBA=0
# NINEBOARD
NINEBOARD_SERVICE_NAME=nineboard
NINEBOARD_ACTIVATE=1
NINEBOARD_LOCAL=1
NINEBOARD_URL=${PROTOCOLE}://${WEB_URL}:9002
# ADMINER # ADMINER
ADMINER_SERVICE_NAME=adminer ADMINER_SERVICE_NAME=adminer
ADMINER_ACTIVATE=0 ADMINER_ACTIVATE=0

5
docker/env/.env.zapp.nineboard vendored Normal file
View File

@ -0,0 +1,5 @@
# == NINEBOARD ============================================================================================================================
APP_AUTH=${MODE_AUTH}

View File

@ -13,3 +13,4 @@ WIDNEXTCLOUD_URL=${NEXTCLOUD_URL}
ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE} ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE}
WIDGENCONFIG_URL=${GENCONFIG_URL} WIDGENCONFIG_URL=${GENCONFIG_URL}

View File

@ -151,6 +151,12 @@ up(){
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEGATE_SERVICE_NAME $PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEGATE_SERVICE_NAME
fi fi
if [[ $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
then
EchoVert ${NINEBOARD_SERVICE_NAME^^}
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEBOARD_SERVICE_NAME
fi
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then then
EchoVert ${NEXTCLOUD_SERVICE_NAME^^} EchoVert ${NEXTCLOUD_SERVICE_NAME^^}
@ -188,6 +194,15 @@ up(){
echo echo
fi fi
# NINEBOARD
if [[ $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
then
Title ${NINEBOARD_SERVICE_NAME^^}
upservice ${NINEBOARD_SERVICE_NAME}
chmod -R a+wr ./volume/nineboard/data
echo
fi
# NEXTCLOUD # NEXTCLOUD
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then then
@ -237,6 +252,7 @@ destroyall(){
destroy openldap 1 destroy openldap 1
destroy keycloak 1 destroy keycloak 1
destroy ninegate 1 destroy ninegate 1
destroy nineboard 1
destroy nextcloud 1 destroy nextcloud 1
destroy adminer 1 destroy adminer 1
destroy phpldapadmin 1 destroy phpldapadmin 1
@ -290,7 +306,6 @@ destroy(){
fi fi
fi fi
if [[ "$1" == "$NINEGATE_SERVICE_NAME" && $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]] if [[ "$1" == "$NINEGATE_SERVICE_NAME" && $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]]
then then
if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi
@ -300,6 +315,15 @@ destroy(){
fi fi
fi fi
if [[ "$1" == "$NINEBOARD_SERVICE_NAME" && $NINEBOARD_ACTIVATE == 1 && $NINEBOARD_LOCAL == 1 ]]
then
if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi
if [[ "$?" = 0 || -z $2 ]]
then
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/delete.sh $NINEBOARD_SERVICE_NAME
fi
fi
if [[ "$1" == "$NEXTCLOUD_SERVICE_NAME" && $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]] if [[ "$1" == "$NEXTCLOUD_SERVICE_NAME" && $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then then
if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ainsi que les fichiers utilisateurs ?";fi if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ainsi que les fichiers utilisateurs ?";fi

View File

@ -0,0 +1 @@
CREATE DATABASE IF NOT EXISTS nineboard;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -7,6 +7,11 @@ ProxyPassReverse /wssninegate ws://0.0.0.0:9000/wssninegate retry=0
ProxyPass /nextcloud http://0.0.0.0:9001 retry=0 keepalive=On ProxyPass /nextcloud http://0.0.0.0:9001 retry=0 keepalive=On
ProxyPassReverse /nextcloud http://0.0.0.0:9001 retry=0 ProxyPassReverse /nextcloud http://0.0.0.0:9001 retry=0
ProxyPass /nineboard http://0.0.0.0:9002/nineboard retry=0 keepalive=On
ProxyPassReverse /nineboard http://0.0.0.0:9002/nineboard retry=0
ProxyPass /wssnineboard ws://0.0.0.0:9002/wssnineboard retry=0 keepalive=On
ProxyPassReverse /wssnineboard ws://0.0.0.0:9002/wssnineboard retry=0
ProxyPass /adminer http://0.0.0.0:9100 retry=0 keepalive=On ProxyPass /adminer http://0.0.0.0:9100 retry=0 keepalive=On
ProxyPassReverse /adminer http://0.0.0.0:9100 retry=0 ProxyPassReverse /adminer http://0.0.0.0:9100 retry=0

18
tmpl/envole-nineboard.env Normal file
View File

@ -0,0 +1,18 @@
#-- LOCAL ---------------------------------------------------------------------------------------------------------------------------------
APP_WEBURL=${WEB_URL}
APP_SECRET=%%getVar("nineboard_secret","changeme")
APP_ALIAS=nineboard/
%if %%getVar("activer_ninegate", "non") == "oui"
APP_MASTERIDENTITY=NINEGATE
APP_MASTERKEY=%%getVar("ninegate_secret","")
%else
%if %%getVar("activer_openldap", "non") == "oui"
APP_MASTERIDENTITY=LDAP
%end if
%end if
LDAP_MODEL=${LDAP_TEMPLATE}

View File

@ -2,6 +2,7 @@
#-- LOCAL --------------------------------------------------------------------------------------------------------------------------------- #-- LOCAL ---------------------------------------------------------------------------------------------------------------------------------
ALIAS=ninegate/ ALIAS=ninegate/
APP_SECRET=%%getVar("ninegate_secret","changeme")
FORCE_THEME=%%getBool(%%getVar("ninegate_forcetheme", "non")) FORCE_THEME=%%getBool(%%getVar("ninegate_forcetheme", "non"))
FORCE_THEMENAME=%%getVar("ninegate_forcethemename", "") FORCE_THEMENAME=%%getVar("ninegate_forcethemename", "")

View File

@ -59,6 +59,11 @@ CAS_PASSWORD=%%getVar("keycload_userpassword", "")
NINEGATE_ACTIVATE=%%getBool(%%getVar("activer_ninegate", "non")) NINEGATE_ACTIVATE=%%getBool(%%getVar("activer_ninegate", "non"))
NINEGATE_URL=/ninegate NINEGATE_URL=/ninegate
# NINEBOARD
NINEBOARD_ACTIVATE=%%getBool(%%getVar("activer_nineboard", "non"))
NINEBOARD_LOCAL=%%getBool(%%getVar("nineboard_local", "non"))
NINEBOARD_URL=%%getVar("nineboard_url", "/nineboard")
# NEXTCLOUD # NEXTCLOUD
NEXTCLOUD_ACTIVATE=%%getBool(%%getVar("activer_nextcloud", "non")) NEXTCLOUD_ACTIVATE=%%getBool(%%getVar("activer_nextcloud", "non"))
NEXTCLOUD_LOCAL=%%getBool(%%getVar("nextcloud_local", "non")) NEXTCLOUD_LOCAL=%%getBool(%%getVar("nextcloud_local", "non"))