diff --git a/docker/my-dojo/conf/docker-mysql.conf.tpl b/docker/my-dojo/conf/docker-mysql.conf.tpl index 8d84d95..cee4ffa 100644 --- a/docker/my-dojo/conf/docker-mysql.conf.tpl +++ b/docker/my-dojo/conf/docker-mysql.conf.tpl @@ -15,4 +15,10 @@ MYSQL_USER=samourai # Password of of user account # Warning: This option must not be modified after the first installation # Type: alphanumeric -MYSQL_PASSWORD=password \ No newline at end of file +MYSQL_PASSWORD=password + +# MySQL configuration profile +# default = default configuration parameters +# low_mem = configuration minimizing the RAM consumed by the database +# Values: default | low_mem +MYSQL_CONF_PROFILE=default \ No newline at end of file diff --git a/docker/my-dojo/install/install-scripts.sh b/docker/my-dojo/install/install-scripts.sh index c079d96..9bcb590 100755 --- a/docker/my-dojo/install/install-scripts.sh +++ b/docker/my-dojo/install/install-scripts.sh @@ -6,6 +6,12 @@ else source ./conf/docker-bitcoind.conf.tpl fi +if [ -f ./conf/docker-mysql.conf ]; then + source ./conf/docker-mysql.conf +else + source ./conf/docker-mysql.conf.tpl +fi + if [ -f ./conf/docker-explorer.conf ]; then source ./conf/docker-explorer.conf else @@ -66,10 +72,10 @@ init_config_files() { cp ./conf/docker-bitcoind.conf.tpl ./conf/docker-bitcoind.conf echo "Initialized docker-bitcoind.conf" - + cp ./conf/docker-mysql.conf.tpl ./conf/docker-mysql.conf echo "Initialized docker-mysql.conf" - + cp ./conf/docker-node.conf.tpl ./conf/docker-node.conf echo "Initialized docker-node.conf" @@ -99,7 +105,7 @@ init_config_files() { fi echo "Initialized dojo-whirlpool.conf (nginx)" - # Initialize config files for nginx and the maintenance tool + # Initialize config files for nginx and the maintenance tool if [ "$COMMON_BTC_NETWORK" == "testnet" ]; then cp ./nginx/testnet.conf ./nginx/dojo.conf echo "Initialized dojo.conf (nginx)" @@ -111,4 +117,12 @@ init_config_files() { cp ../../static/admin/conf/index-mainnet.js ../../static/admin/conf/index.js echo "Initialized index.js (admin module)" fi + + # Initialize config files for mysql + if [ "$MYSQL_CONF_PROFILE" == "low_mem" ]; then + cp ./mysql/mysql-low_mem.cnf ./mysql/mysql-dojo.cnf + else + cp ./mysql/mysql-default.cnf ./mysql/mysql-dojo.cnf + fi + echo "Initialized mysql-dojo.cnf (mysql)" } diff --git a/docker/my-dojo/install/upgrade-scripts.sh b/docker/my-dojo/install/upgrade-scripts.sh index 9669cd1..b4a370a 100755 --- a/docker/my-dojo/install/upgrade-scripts.sh +++ b/docker/my-dojo/install/upgrade-scripts.sh @@ -6,6 +6,12 @@ else source ./conf/docker-common.conf.tpl fi +if [ -f ./conf/docker-mysql.conf ]; then + source ./conf/docker-mysql.conf +else + source ./conf/docker-mysql.conf.tpl +fi + if [ -f ./conf/docker-explorer.conf ]; then source ./conf/docker-explorer.conf else @@ -95,6 +101,14 @@ update_config_files() { cp ../../static/admin/conf/index-mainnet.js ../../static/admin/conf/index.js echo "Initialized index.js (admin module)" fi + + # Initialize config files for mysql + if [ "$MYSQL_CONF_PROFILE" == "low_mem" ]; then + cp ./mysql/mysql-low_mem.cnf ./mysql/mysql-dojo.cnf + else + cp ./mysql/mysql-default.cnf ./mysql/mysql-dojo.cnf + fi + echo "Initialized mysql-dojo.cnf (mysql)" } # Update a configuration file from template diff --git a/docker/my-dojo/mysql/mysql-dojo.cnf b/docker/my-dojo/mysql/mysql-default.cnf similarity index 100% rename from docker/my-dojo/mysql/mysql-dojo.cnf rename to docker/my-dojo/mysql/mysql-default.cnf diff --git a/docker/my-dojo/mysql/mysql-low_mem.cnf b/docker/my-dojo/mysql/mysql-low_mem.cnf new file mode 100644 index 0000000..445df28 --- /dev/null +++ b/docker/my-dojo/mysql/mysql-low_mem.cnf @@ -0,0 +1,10 @@ +[mysqld] +sql_mode="NO_ENGINE_SUBSTITUTION" +performance_schema=off +innodb_buffer_pool_size=128M +innodb_buffer_pool_chunk_size=16M +key_buffer_size=8M +tmp_table_size=1M +max_connections=20 +sort_buffer_size=1M +query_cache_size=8M \ No newline at end of file