diff --git a/.devilbox/www/config.php b/.devilbox/www/config.php index cba741d4..5d7565f0 100644 --- a/.devilbox/www/config.php +++ b/.devilbox/www/config.php @@ -14,7 +14,7 @@ putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1'); $DEVILBOX_VERSION = 'v0.15'; -$DEVILBOX_DATE = '2019-02-27'; +$DEVILBOX_DATE = '2019-03-01'; $DEVILBOX_API_PAGE = 'devilbox-api/status.json'; // diff --git a/.devilbox/www/include/lib/container/Memcd.php b/.devilbox/www/include/lib/container/Memcd.php index 87ef85b4..2a6906f8 100644 --- a/.devilbox/www/include/lib/container/Memcd.php +++ b/.devilbox/www/include/lib/container/Memcd.php @@ -114,8 +114,25 @@ class Memcd extends BaseClass implements BaseInterface // Memcached >= 1.5 for ($i=0; $i<$cli_retries; $i++) { + // Get item number to trigger with stats cachedump $output = array(); - exec('printf "stats cachedump 1 0\nquit\n" | nc memcd 11211 | grep -E \'^ITEM\'', $output); + exec('printf "stats items\nquit\n" | nc memcd 11211 | grep -E \'items:[0-9]+:number\s[0-9]+\'', $output); + $num1 = 1; + $num2 = 0; + if (isset($output[0])) { + $matches = array(); + preg_match('/items:([0-9]+):number\s([0-9]+)/', $output[0], $matches); + if (isset($matches[1])) { + $num1 = $matches[1]; + } + if (isset($matches[2])) { + $num2 = $matches[2]; + } + } + + // Trigger stats cachedump on item number + $output = array(); + exec('printf "stats cachedump '.$num1.' '.$num2.' \nquit\n" | nc memcd 11211 | grep -E \'^ITEM\'', $output); foreach ($output as $line) { $matches = array(); preg_match('/(^ITEM)\s*(.+?)\s*\[([0-9]+\s*b);\s*([0-9]+\s*s)\s*\]/', $line, $matches); diff --git a/.gitignore b/.gitignore index 68f9b56b..0d784d12 100644 --- a/.gitignore +++ b/.gitignore @@ -28,9 +28,6 @@ # Ignore Certificate Authority /ca/* -# Ignore emails -/mail/* - # Ignore compose override file /docker-compose.override.yml @@ -50,7 +47,7 @@ /cfg/mysql-5.6/*.cnf /cfg/mysql-5.7/*.cnf /cfg/mysql-8.0/*.cnf -/cfg/mariadb-5/*.cnf +/cfg/mariadb-5.5/*.cnf /cfg/mariadb-10.0/*.cnf /cfg/mariadb-10.1/*.cnf /cfg/mariadb-10.2/*.cnf diff --git a/mail/.keepme b/cfg/mariadb-5.5/.keepme similarity index 100% rename from mail/.keepme rename to cfg/mariadb-5.5/.keepme diff --git a/cfg/mariadb-5.5/devilbox-custom.cnf-example b/cfg/mariadb-5.5/devilbox-custom.cnf-example new file mode 100644 index 00000000..6d2549fa --- /dev/null +++ b/cfg/mariadb-5.5/devilbox-custom.cnf-example @@ -0,0 +1,5 @@ +[mysqld] +;key_buffer_size=16M + +[mysqldump] +;quick diff --git a/compose/docker-compose.override.yml-all b/compose/docker-compose.override.yml-all index 683a5185..5d7bd860 100644 --- a/compose/docker-compose.override.yml-all +++ b/compose/docker-compose.override.yml-all @@ -58,7 +58,7 @@ services: app_net: ipv4_address: 172.16.238.210 volumes: - - ${HOST_PATH_RABBIT_DATADIR:-./data/rabbit}/${RABBIT_SERVER:-management}:/var/lib/rabbitmq + - devilbox-rabbit:/var/lib/rabbitmq depends_on: - bind - php @@ -76,7 +76,7 @@ services: app_net: ipv4_address: 172.16.238.220 volumes: - - data-solr:/opt/solr/server/solr/mycores + - devilbox-solr:/opt/solr/server/solr/mycores entrypoint: - docker-entrypoint.sh - solr-precreate @@ -150,7 +150,7 @@ services: - TZ=${TIMEZONE:-UTC} - discovery.type=single-node volumes: - - data-elastic:/usr/share/elasticsearch/data + - devilbox-elastic:/usr/share/elasticsearch/data logstash: image: docker.elastic.co/logstash/logstash-oss:${ELK_SERVER:-6.6.1} @@ -169,7 +169,7 @@ services: - CONFIG_RELOAD_INTERVAL=300 - DB_HOST=DATABASE-SERVER volumes: - - data-logstash:/var/lib/logstash + - devilbox-logstash:/var/lib/logstash depends_on: - elastic @@ -192,6 +192,7 @@ services: ### Volumes ### volumes: - data-solr: - data-elastic: - data-logstash: + devilbox-rabbit: + devilbox-solr: + devilbox-elastic: + devilbox-logstash: diff --git a/compose/docker-compose.override.yml-elk b/compose/docker-compose.override.yml-elk index d598ee7e..8d88a14c 100644 --- a/compose/docker-compose.override.yml-elk +++ b/compose/docker-compose.override.yml-elk @@ -20,7 +20,7 @@ services: - TZ=${TIMEZONE:-UTC} - discovery.type=single-node volumes: - - data-elastic:/usr/share/elasticsearch/data + - devilbox-elastic:/usr/share/elasticsearch/data logstash: image: docker.elastic.co/logstash/logstash-oss:${ELK_SERVER:-6.6.1} @@ -39,7 +39,7 @@ services: - CONFIG_RELOAD_INTERVAL=300 - DB_HOST=DATABASE-SERVER volumes: - - data-logstash:/var/lib/logstash + - devilbox-logstash:/var/lib/logstash depends_on: - elastic @@ -58,5 +58,5 @@ services: - elastic volumes: - data-elastic: - data-logstash: + devilbox-elastic: + devilbox-logstash: diff --git a/compose/docker-compose.override.yml-rabbitmq b/compose/docker-compose.override.yml-rabbitmq index 9ec65760..229089a4 100644 --- a/compose/docker-compose.override.yml-rabbitmq +++ b/compose/docker-compose.override.yml-rabbitmq @@ -20,8 +20,11 @@ services: app_net: ipv4_address: 172.16.238.210 volumes: - - ${HOST_PATH_RABBIT_DATADIR:-./data/rabbit}/${RABBIT_SERVER:-management}:/var/lib/rabbitmq + - devilbox-rabbit:/var/lib/rabbitmq depends_on: - bind - php - httpd + +volumes: + devilbox-rabbit: diff --git a/compose/docker-compose.override.yml-solr b/compose/docker-compose.override.yml-solr index f7820aef..82eb613b 100644 --- a/compose/docker-compose.override.yml-solr +++ b/compose/docker-compose.override.yml-solr @@ -15,7 +15,7 @@ services: app_net: ipv4_address: 172.16.238.220 volumes: - - data-solr:/opt/solr/server/solr/mycores + - devilbox-solr:/opt/solr/server/solr/mycores entrypoint: - docker-entrypoint.sh - solr-precreate @@ -26,4 +26,4 @@ services: - httpd volumes: - data-solr: + devilbox-solr: diff --git a/docker-compose.yml b/docker-compose.yml index ef1164aa..d383170d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -175,7 +175,7 @@ services: - ${DEVILBOX_PATH}/log/php-fpm-${PHP_SERVER}:/var/log/php:rw${MOUNT_OPTIONS} # Mount Mail directory - - ${DEVILBOX_PATH}/mail:/var/mail:rw${MOUNT_OPTIONS} + - devilbox-mail:/var/mail:rw${MOUNT_OPTIONS} # Mount DB Backup directory - ${DEVILBOX_PATH}/backups:/shared/backups:rw${MOUNT_OPTIONS} @@ -503,3 +503,12 @@ networks: config: - subnet: 172.16.238.0/24 gateway: 172.16.238.1 + +################################################################################ +# VOLUMES +################################################################################ +volumes: + # ------------------------------------------------------------ + # Misc + # ------------------------------------------------------------ + devilbox-mail: diff --git a/docs/configuration-files/my-cnf.rst b/docs/configuration-files/my-cnf.rst index 614cb82f..1c015449 100644 --- a/docs/configuration-files/my-cnf.rst +++ b/docs/configuration-files/my-cnf.rst @@ -31,6 +31,7 @@ See the directory structure for MySQL configuration directories inside ``./cfg/` host> ls -l path/to/devilbox/cfg/ | grep -E 'mysql|mariadb|percona' + drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-5.5/ drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-10.0/ drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-10.1/ drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-10.2/ diff --git a/docs/custom-container/enable-rabbitmq.rst b/docs/custom-container/enable-rabbitmq.rst index 9d803fd2..305ecf4a 100644 --- a/docs/custom-container/enable-rabbitmq.rst +++ b/docs/custom-container/enable-rabbitmq.rst @@ -46,7 +46,7 @@ must be copied into the root of the Devilbox git directory. +-----------------------+------------------------------------------------------------------------------------------------------+ | Container name | ``rabbit`` | +-----------------------+------------------------------------------------------------------------------------------------------+ -| Mount points | ``./data/rabbit`` (can be changed via ``.env``) | +| Mount points | via Docker volumes | +-----------------------+------------------------------------------------------------------------------------------------------+ | Exposed port | ``5672`` and ``15672`` (can be changed via ``.env``) | +-----------------------+------------------------------------------------------------------------------------------------------+ @@ -69,8 +69,6 @@ Additionally the following ``.env`` variables can be created for easy configurat +------------------------------+-------------------+----------------------------------------------------------------------------+ | ``RABBIT_SERVER`` | ``management`` | Controls the RabbitMQ version to use. | +------------------------------+-------------------+----------------------------------------------------------------------------+ -| ``HOST_PATH_RABBIT_DATADIR`` | ``./data/rabbit`` | Default mount point for persistent data. | -+------------------------------+-------------------+----------------------------------------------------------------------------+ | ``RABBIT_DEFAULT_VHOST`` | ``my_vhost`` | Default RabbitMQ vhost name. (not a webserver vhost name) | +------------------------------+-------------------+----------------------------------------------------------------------------+ | ``RABBIT_DEFAULT_USER`` | ``guest`` | Default username for Admin WebUI. | @@ -80,7 +78,6 @@ Additionally the following ``.env`` variables can be created for easy configurat - Instructions ============ @@ -125,7 +122,6 @@ Add the following variables to ``.env`` and adjust them to your needs: HOST_PORT_RABBIT=5672 HOST_PORT_RABBIT_MGMT=15672 - HOST_PATH_RABBIT_DATADIR=./data/rabbit .. seealso:: :ref:`env_file` @@ -169,7 +165,6 @@ directory: echo "RABBIT_DEFAULT_PASS=guest" >> .env echo "HOST_PORT_RABBIT=5672" >> .env echo "HOST_PORT_RABBIT_MGMT=15672" >> .env - echo "HOST_PATH_RABBIT_DATADIR=./data/rabbit" >> .env # Start container docker-compose up -d php httpd bind rabbit diff --git a/docs/custom-container/enable-solr.rst b/docs/custom-container/enable-solr.rst index bbd2bc44..4290801a 100644 --- a/docs/custom-container/enable-solr.rst +++ b/docs/custom-container/enable-solr.rst @@ -46,7 +46,7 @@ must be copied into the root of the Devilbox git directory. +-----------------------+------------------------------------------------------------------------------------------------------+ | Container name | ``solr`` | +-----------------------+------------------------------------------------------------------------------------------------------+ -| Mount points | none | +| Mount points | via Docker volumes | +-----------------------+------------------------------------------------------------------------------------------------------+ | Exposed port | ``8983`` (can be changed via ``.env``) | +-----------------------+------------------------------------------------------------------------------------------------------+