ONLYOFFICE / Docker-MailServer

ONLYOFFICE Mail Server is a full-featured mail server solution developed on the base of the iRedMail package, containing the following components: Postfix, Dovecot, SpamAssassin, ClamAV, OpenDKIM, Fail2ban.
Other
79 stars 54 forks source link

Environment variable MYSQL_ROOT_PASSWORD is not used #23

Open demitov opened 1 year ago

demitov commented 1 year ago

In README.md has an environment variable MYSQL_ROOT_PASSWORD, but scripts use MYSQL_ROOT_PASSW and MYSQL_ROOT_PASSWD

Carazyda commented 1 year ago

Hello @demitov I don't quite understand you. The variable MYSQL_ROOT_PASSWORD is used in the communityserver and mysql server, and the variable MYSQL_ROOT_PASSWD in the mail server. Please indicate the exact lines of code that you mean.

demitov commented 1 year ago

Hello @Carazyda

Docker-MailServer git:(master) ✗ grep -rnw ./ -e 'MYSQL_ROOT_PASSWORD' 
.//README.md:93: -e MYSQL_ROOT_PASSWORD=my-secret-pw \
Docker-MailServer git:(master) ✗ grep -rnw ./ -e 'MYSQL_ROOT_PASSWD'  
.//iRedMail/config:14:export MYSQL_ROOT_PASSWD=${MYSQL_ROOT_PASSWD:-Isadmin123}
.//iRedMail/config:33:export MYSQL_ROOT_PASSWD=${MYSQL_SERVER_ENV_MYSQL_PASSWORD:-${MYSQL_ROOT_PASSWD}}
.//iRedMail/config:56:export VMAIL_DB_ADMIN_PASSWD="${MYSQL_ROOT_PASSWD}"
.//iRedMail/config:59:export AMAVISD_DB_PASSWD="${MYSQL_ROOT_PASSWD}"
.//iRedMail/config:62:export SPAMASSASSIN_DB_PASSWD="${MYSQL_ROOT_PASSWD}"
.//iRedMail/config:65:export CLUEBRINGER_DB_PASSWD="${MYSQL_ROOT_PASSWD}"
.//iRedMail/functions/mysql.sh:42:password=${MYSQL_ROOT_PASSWD}
.//iRedMail/functions/mysql.sh:56:UPDATE mysql.user SET Password=PASSWORD('${MYSQL_ROOT_PASSWD}') WHERE User='root';
.//iRedMail/functions/mysql.sh:94:            mysqladmin --user=root password "${MYSQL_ROOT_PASSWD}"
.//iRedMail/functions/mysql.sh:104:GRANT ALL PRIVILEGES ON *.* TO '${MYSQL_ROOT_USER}'@'${MYSQL_GRANT_HOST}' IDENTIFIED BY '${MYSQL_ROOT_PASSWD}';
.//iRedMail/functions/mysql.sh:105:GRANT ALL PRIVILEGES ON *.* TO '${MYSQL_ROOT_USER}'@'127.0.0.1' IDENTIFIED BY '${MYSQL_ROOT_PASSWD}';
.//iRedMail/functions/mysql.sh:110:UPDATE user SET Password = PASSWORD('${MYSQL_ROOT_PASSWD}') WHERE User = 'root';
.//iRedMail/functions/mysql.sh:135:    * Root user: ${MYSQL_ROOT_USER}, Password: ${MYSQL_ROOT_PASSWD}
.//iRedMail/functions/cleanup.sh:205:    export MYSQL_ROOT_PASSWD MYSQL_BACKUP_DATABASES
.//iRedMail/functions/cleanup.sh:208:    perl -pi -e 's#^(export MYSQL_PASSWD=).*#${1}"$ENV{MYSQL_ROOT_PASSWD}"#' ${BACKUP_SCRIPT_MYSQL}
.//README.md:103: -e MYSQL_ROOT_PASSWD=my-secret-pw \
.//README.md:206: -e MYSQL_ROOT_PASSWD=my-secret-pw \
Docker-MailServer git:(master) ✗ grep -rnw ./ -e 'MYSQL_ROOT_PASSW[},=]'
.//iRedMail/run_mailserver.sh:38:    while ! mysqladmin ping -h ${MYSQL_SERVER} -P ${MYSQL_SERVER_PORT} -u ${MYSQL_ROOT_USER} --password=${MYSQL_ROOT_PASSW} --silent; do
.//iRedMail/iRedMail.sh:87:    while ! mysqladmin ping -h ${MYSQL_SERVER} -P ${MYSQL_SERVER_PORT} -u ${MYSQL_ROOT_USER} --password=${MYSQL_ROOT_PASSW} --silent; do
Carazyda commented 1 year ago

Yes, you are right about that. It's a typo. But it does not affect the operation of the mail server. Unfortunately we can't fix this right now. We plan to build a new version of the mail server, on modern components.

demitov commented 1 year ago

I solved the problem by simply adding two environment variables MYSQL_ROOT_PASSW and MYSQL_ROOT_PASSWD in deployment.