diff --git a/dicos/90_envole.xml b/dicos/90_envole.xml
index e424e11..65052ac 100644
--- a/dicos/90_envole.xml
+++ b/dicos/90_envole.xml
@@ -6,6 +6,7 @@
+
@@ -58,6 +59,8 @@
oui
+ non
+
non
non
non
@@ -69,6 +72,7 @@
+
oui
@@ -86,6 +90,10 @@
non
+
+ oui
+
+
oui
@@ -104,6 +112,7 @@
Applications
Secrets
Ninegate Portail
+ Nineboard
Nextcloud
@@ -190,6 +199,7 @@
database_rootpassword
database_userpassword
activer_ninegate
+ activer_nineboard
activer_nextcloud
activer_adminer
@@ -257,6 +267,11 @@
ninegate_forcethemename
+
+ non
+ nineboard_secret
+
+
scribe
@@ -293,6 +308,20 @@
ninegate_forcethemename
+
+
+
+ non
+
+ nineboard_local
+
+
+
+ oui
+
+ nineboard_url
+
+
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 018dc7e..7295a8d 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -98,6 +98,23 @@ services:
- ./volume/nextcloud/envole:/envole
- ./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:
image: docker.io/library/adminer
container_name: envole-adminer
diff --git a/docker/env/.env b/docker/env/.env
index 2ff708d..cabb85d 100644
--- a/docker/env/.env
+++ b/docker/env/.env
@@ -87,6 +87,12 @@ NEXTCLOUD_LOCAL=1
NEXTCLOUD_URL=${PROTOCOLE}://${WEB_URL}:9001
NEXTCLOUD_SAMBA=0
+# NINEBOARD
+NINEBOARD_SERVICE_NAME=nineboard
+NINEBOARD_ACTIVATE=1
+NINEBOARD_LOCAL=1
+NINEBOARD_URL=${PROTOCOLE}://${WEB_URL}:9002
+
# ADMINER
ADMINER_SERVICE_NAME=adminer
ADMINER_ACTIVATE=0
diff --git a/docker/env/.env.zapp.nineboard b/docker/env/.env.zapp.nineboard
new file mode 100644
index 0000000..0d3037b
--- /dev/null
+++ b/docker/env/.env.zapp.nineboard
@@ -0,0 +1,5 @@
+
+# == NINEBOARD ============================================================================================================================
+
+APP_AUTH=${MODE_AUTH}
+
diff --git a/docker/env/.env.zapp.ninegate b/docker/env/.env.zapp.ninegate
index da1facb..771a38a 100644
--- a/docker/env/.env.zapp.ninegate
+++ b/docker/env/.env.zapp.ninegate
@@ -12,4 +12,5 @@ ACTIVATE_WIDNEXTCLOUD=${NEXTCLOUD_ACTIVATE}
WIDNEXTCLOUD_URL=${NEXTCLOUD_URL}
ACTIVATE_WIDGENCONFIG=${GENCONFIG_ACTIVATE}
-WIDGENCONFIG_URL=${GENCONFIG_URL}
\ No newline at end of file
+WIDGENCONFIG_URL=${GENCONFIG_URL}
+
diff --git a/docker/envole.sh b/docker/envole.sh
index 543ac61..b773a9b 100755
--- a/docker/envole.sh
+++ b/docker/envole.sh
@@ -151,6 +151,12 @@ up(){
$PODCOMPOSEBIN exec $MARIADB_SERVICE_NAME /envole/init.sh $NINEGATE_SERVICE_NAME
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 ]]
then
EchoVert ${NEXTCLOUD_SERVICE_NAME^^}
@@ -188,6 +194,15 @@ up(){
echo
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
if [[ $NEXTCLOUD_ACTIVATE == 1 && $NEXTCLOUD_LOCAL == 1 ]]
then
@@ -237,6 +252,7 @@ destroyall(){
destroy openldap 1
destroy keycloak 1
destroy ninegate 1
+ destroy nineboard 1
destroy nextcloud 1
destroy adminer 1
destroy phpldapadmin 1
@@ -290,7 +306,6 @@ destroy(){
fi
fi
-
if [[ "$1" == "$NINEGATE_SERVICE_NAME" && $NINEGATE_ACTIVATE == 1 && $NINEGATE_LOCAL == 1 ]]
then
if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ?";fi
@@ -300,6 +315,15 @@ destroy(){
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 ]]
then
if [[ -z $2 ]]; then Question_ouinon "Souhaitez-vous supprimer la BDD associé à $1 ainsi que les fichiers utilisateurs ?";fi
diff --git a/docker/volume/mariadb/envole/nineboard.sql b/docker/volume/mariadb/envole/nineboard.sql
new file mode 100644
index 0000000..fe28425
--- /dev/null
+++ b/docker/volume/mariadb/envole/nineboard.sql
@@ -0,0 +1 @@
+CREATE DATABASE IF NOT EXISTS nineboard;
\ No newline at end of file
diff --git a/docker/volume/nineboard/data/public/avatar/admin.jpg b/docker/volume/nineboard/data/public/avatar/admin.jpg
new file mode 100644
index 0000000..0fa3174
Binary files /dev/null and b/docker/volume/nineboard/data/public/avatar/admin.jpg differ
diff --git a/docker/volume/nineboard/data/public/avatar/system.jpg b/docker/volume/nineboard/data/public/avatar/system.jpg
new file mode 100644
index 0000000..4c8a16b
Binary files /dev/null and b/docker/volume/nineboard/data/public/avatar/system.jpg differ
diff --git a/docker/volume/nineboard/data/public/logo/logo.png b/docker/volume/nineboard/data/public/logo/logo.png
new file mode 100644
index 0000000..f84fa12
Binary files /dev/null and b/docker/volume/nineboard/data/public/logo/logo.png differ
diff --git a/tmpl/envole-apache.conf b/tmpl/envole-apache.conf
index 9d8128e..28f1bad 100644
--- a/tmpl/envole-apache.conf
+++ b/tmpl/envole-apache.conf
@@ -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
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
ProxyPassReverse /adminer http://0.0.0.0:9100 retry=0
diff --git a/tmpl/envole-nineboard.env b/tmpl/envole-nineboard.env
new file mode 100644
index 0000000..77d4f7e
--- /dev/null
+++ b/tmpl/envole-nineboard.env
@@ -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}
+
diff --git a/tmpl/envole-ninegate.env b/tmpl/envole-ninegate.env
index b97335f..339b59f 100644
--- a/tmpl/envole-ninegate.env
+++ b/tmpl/envole-ninegate.env
@@ -2,6 +2,7 @@
#-- LOCAL ---------------------------------------------------------------------------------------------------------------------------------
ALIAS=ninegate/
+APP_SECRET=%%getVar("ninegate_secret","changeme")
FORCE_THEME=%%getBool(%%getVar("ninegate_forcetheme", "non"))
FORCE_THEMENAME=%%getVar("ninegate_forcethemename", "")
diff --git a/tmpl/envole.env b/tmpl/envole.env
index 9121a07..0fff9ce 100644
--- a/tmpl/envole.env
+++ b/tmpl/envole.env
@@ -59,6 +59,11 @@ CAS_PASSWORD=%%getVar("keycload_userpassword", "")
NINEGATE_ACTIVATE=%%getBool(%%getVar("activer_ninegate", "non"))
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_ACTIVATE=%%getBool(%%getVar("activer_nextcloud", "non"))
NEXTCLOUD_LOCAL=%%getBool(%%getVar("nextcloud_local", "non"))