diff --git a/docker-compose.yml b/docker-compose.yml index 9ccb878..44be222 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,6 +31,7 @@ services: - mysql-user - mysql-password environment: + #MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root} MYSQL_RANDOM_ROOT_PASSWORD: "1" MYSQL_DATABASE: "dolidb" MYSQL_USER_FILE: "/run/secrets/mysql-user" @@ -86,6 +87,7 @@ services: DOLI_URL_ROOT: 'http://0.0.0.0:81' DOLI_INSTANCE_UNIQUE_ID: myinstanceuniqueid DOLI_INIT_DEMO: 1 + DOLI_CRON_KEY: mycronsecurekey ports: - "81:80" networks: diff --git a/examples/with-mysql/docker-compose.yml b/examples/with-mysql/docker-compose.yml index 69434bb..50a4753 100644 --- a/examples/with-mysql/docker-compose.yml +++ b/examples/with-mysql/docker-compose.yml @@ -15,8 +15,8 @@ services: environment: DOLI_DB_HOST: "mysql" DOLI_DB_HOST_PORT: "3306" - DOLI_DB_USER: "dolibarr" - DOLI_DB_PASSWORD: "mysupersecretpasswordfordatabase" + DOLI_DB_USER: "dolidbuser" + DOLI_DB_PASSWORD: "dolidbpass" DOLI_DB_NAME: "dolibarr" DOLI_ADMIN_LOGIN: "admin" DOLI_ADMIN_PASSWORD: "mysuperhypersecretpasswordforadminacount" diff --git a/examples/with-secrets/secrets/mysql_password.secret b/examples/with-secrets/secrets/mysql_password.secret index e00065a..5a752e5 100644 --- a/examples/with-secrets/secrets/mysql_password.secret +++ b/examples/with-secrets/secrets/mysql_password.secret @@ -1 +1 @@ -mysupersecretpasswordfordatabase \ No newline at end of file +dolidbpass \ No newline at end of file diff --git a/examples/with-secrets/secrets/mysql_user.secret b/examples/with-secrets/secrets/mysql_user.secret index 3d33aac..6df9168 100644 --- a/examples/with-secrets/secrets/mysql_user.secret +++ b/examples/with-secrets/secrets/mysql_user.secret @@ -1 +1 @@ -dolibarr \ No newline at end of file +dolidbuser \ No newline at end of file diff --git a/images/15.0.3-php7.4/docker-run.sh b/images/15.0.3-php7.4/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/15.0.3-php7.4/docker-run.sh +++ b/images/15.0.3-php7.4/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/16.0.5-php8.1/docker-run.sh b/images/16.0.5-php8.1/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/16.0.5-php8.1/docker-run.sh +++ b/images/16.0.5-php8.1/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/17.0.4-php8.1/docker-run.sh b/images/17.0.4-php8.1/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/17.0.4-php8.1/docker-run.sh +++ b/images/17.0.4-php8.1/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/18.0.6-php8.1/docker-run.sh b/images/18.0.6-php8.1/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/18.0.6-php8.1/docker-run.sh +++ b/images/18.0.6-php8.1/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/19.0.4-php8.2/docker-run.sh b/images/19.0.4-php8.2/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/19.0.4-php8.2/docker-run.sh +++ b/images/19.0.4-php8.2/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/20.0.4-php8.2/docker-run.sh b/images/20.0.4-php8.2/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/20.0.4-php8.2/docker-run.sh +++ b/images/20.0.4-php8.2/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/images/develop/docker-run.sh b/images/develop/docker-run.sh index 6c7fa81..3986f34 100755 --- a/images/develop/docker-run.sh +++ b/images/develop/docker-run.sh @@ -267,6 +267,10 @@ function initializeDatabase() echo "Enable user module ..." >> /var/www/documents/initdb.log php /var/www/scripts/docker-init.php + echo "Set cron key to ${DOLI_CRON_KEY}..." + echo "Set cron key to ${DOLI_CRON_KEY}..." >> /var/www/documents/initdb.log + mysql -u ${DOLI_DB_USER} -p${DOLI_DB_PASSWORD} -h ${DOLI_DB_HOST} -P ${DOLI_DB_HOST_PORT} ${DOLI_DB_NAME} -e "UPDATE llx_const set value = '${DOLI_CRON_KEY}' WHERE name = 'CRON_KEY'" >> /var/www/documents/initdb.log 2>&1 + # Run init scripts echo "Run scripts into docker-init.d if there is ..." echo "Run scripts into docker-init.d if there is ..." >> /var/www/documents/initdb.log @@ -431,6 +435,8 @@ function run() echo "*** You can connect to the docker Mariadb with:" echo "sudo docker exec -it nameofwebcontainer-mariadb-1 bash" echo "mariadb -uroot -p'MYSQL_ROOT_PASSWORD' -h localhost" + echo "or" + echo "mariadb -uxxx -p'yyy' -h mariadb where xxx is in /run/secrets/mysql-user and yyy in /run/secrets/mysql-password" echo "ls /var/lib/mysql" echo echo "*** You can connect to the docker Dolibarr with:" diff --git a/test.sh b/test.sh index f361abf..3888094 100755 --- a/test.sh +++ b/test.sh @@ -13,6 +13,8 @@ BASE_DIR="$( cd "$(dirname "$0")" && pwd )" DOLI_VER=${1} PHP_VER=${2:-""} +echo "Test - working in $BASE_DIR" + if [ "${DOLI_VER}" = "" ]; then echo "Usage: sudo test.sh dolversion [phpversion]" echo " The couple dolversion/phpversion must be an existing couple into /images directory." @@ -21,6 +23,7 @@ if [ "${DOLI_VER}" = "" ]; then exit fi +# Create links of images into docker-compose-links rm -rf "${BASE_DIR}/docker-compose-links/" && mkdir "${BASE_DIR}/docker-compose-links" # shellcheck disable=SC2044 @@ -50,7 +53,7 @@ if [ "${PHP_VER}" = "" ]; then echo "Stopping existing image (if exists) ..." echo "DOLI_VERSION=${DOLI_VER} PHP_VERSION='' $dockerComposeBin -f '${BASE_DIR}/docker-compose.yml' [down|...]" DOLI_VERSION=${DOLI_VER} PHP_VERSION="" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" down 1>/dev/null - echo "Building image ..." + echo "Building image using docker-compose.yml in $BASE_DIR..." DOLI_VERSION=${DOLI_VER} PHP_VERSION="" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" build web echo "Starting image ..." DOLI_VERSION=${DOLI_VER} PHP_VERSION="" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" up --force-recreate web cron @@ -60,7 +63,7 @@ else echo " - PHP ${PHP_VER}" echo "Stopping existing image (if exists) ..." DOLI_VERSION=${DOLI_VER} PHP_VERSION="-php${PHP_VER}" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" down 1>/dev/null - echo "Building image ..." + echo "Building image using docker-compose.yml in $BASE_DIR..." DOLI_VERSION=${DOLI_VER} PHP_VERSION="-php${PHP_VER}" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" build web echo "Starting image ..." DOLI_VERSION=${DOLI_VER} PHP_VERSION="-php${PHP_VER}" $dockerComposeBin -f "${BASE_DIR}/docker-compose.yml" up --force-recreate web cron