From c350e07b30541e430c5acccfcd763fbf0b485cbf Mon Sep 17 00:00:00 2001
From: Maxim Thomas <maxim.thomas@gmail.com>
Date: Thu, 13 Mar 2025 07:54:38 +0000
Subject: [PATCH] Configure backend type for Docker (#489)
---
opendj-packages/opendj-docker/README.md | 2 ++
opendj-packages/opendj-docker/bootstrap/setup.sh | 28 ++++++++++++++++++++++++----
2 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/opendj-packages/opendj-docker/README.md b/opendj-packages/opendj-docker/README.md
index 0346477..d20b87b 100644
--- a/opendj-packages/opendj-docker/README.md
+++ b/opendj-packages/opendj-docker/README.md
@@ -28,3 +28,5 @@
| OPENDJ_USER | - | user which runs OpenDJ |
| OPENDJ_REPLICATION_TYPE | - | OpenDJ Replication type, valid values are: <ul><li>simple - standart replication</li><li>srs - standalone replication servers</li><li>sdsr - Standalone Directory Server Replicas</li><li>rg - Replication Groups</li></ul>Other values will be ignored |
| OPENDJ_SSL_OPTIONS | --generateSelfSignedCertificate | you can replace ssl options at here, like : "--usePkcs12keyStore /opt/domain.pfx --keyStorePassword domain" |
+| BACKEND_TYPE | je | OpenDJ backend type, see [dsconfig create-backend](https://doc.openidentityplatform.org/opendj/reference/dsconfig-subcommands-ref#dsconfig-create-backend) documentation |
+| BACKEND_DB_DIRECTORY | db | OpenDJ `db-directory` attribute for backend |
\ No newline at end of file
diff --git a/opendj-packages/opendj-docker/bootstrap/setup.sh b/opendj-packages/opendj-docker/bootstrap/setup.sh
index c36fbe6..084fd2b 100755
--- a/opendj-packages/opendj-docker/bootstrap/setup.sh
+++ b/opendj-packages/opendj-docker/bootstrap/setup.sh
@@ -21,7 +21,6 @@
/opt/opendj/setup \
--cli \
-h localhost \
- --baseDN $BASE_DN \
--ldapPort $PORT \
--ldapsPort $LDAPS_PORT \
--enableStartTLS $OPENDJ_SSL_OPTIONS \
@@ -31,10 +30,31 @@
--acceptLicense \
--no-prompt \
--noPropertiesFile \
- --doNotStart \
- $ADD_BASE_ENTRY #--sampleData 1
+ $SETUP_ARGS
-/opt/opendj/bin/start-ds
+BACKEND_TYPE=${BACKEND_TYPE:-je}
+BACKEND_DB_DIRECTORY=${BACKEND_DB_DIRECTORY:-db}
+echo "creating backend: $BACKEND_TYPE db-directory: ${BACKEND_DB_DIRECTORY}"
+
+/opt/opendj/bin/dsconfig create-backend -h localhost -p $ADMIN_PORT --bindDN "$ROOT_USER_DN" --bindPassword "$ROOT_PASSWORD" \
+ --backend-name=userRoot --type $BACKEND_TYPE --set base-dn:$BASE_DN --set "db-directory:$BACKEND_DB_DIRECTORY" \
+ --set enabled:true --no-prompt --trustAll
+
+if [ "$ADD_BASE_ENTRY" = "--addBaseEntry" ]; then
+
+ DC=$(echo "$BASE_DN" | awk -F',|=' '{print $2}')
+
+ /opt/opendj/bin/ldapmodify --hostname localhost \
+ --port 1636 --bindDN "$ROOT_USER_DN" --bindPassword "$ROOT_PASSWORD" \
+ --useSsl --trustAll <<EOF
+dn: $BASE_DN
+dc: $DC
+objectClass: domain
+objectClass: top
+EOF
+
+fi
+
# There are multiple types of ldif files.
# The steps below import ldifs via `ldapmodify`.
--
Gitblit v1.10.0