mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-24 18:25:17 +00:00
Compare commits
29 Commits
v1.0.0-alp
...
v1.0.1
Author | SHA1 | Date | |
---|---|---|---|
6da8f35cf7 | |||
d58b4f6035 | |||
f5e32c25a1 | |||
f45826edfd | |||
f94557062d | |||
f2aa49b8cd | |||
acf3293692 | |||
5064effe89 | |||
3cbbdb35b0 | |||
c2b8a53efc | |||
2b521c9e71 | |||
9e3da94edb | |||
1138c498c7 | |||
cfba16f887 | |||
ef2f39f794 | |||
f19a5d2ca2 | |||
c582163951 | |||
c6542ad032 | |||
bb1b72d9af | |||
ba3dd31729 | |||
0dc142e1e2 | |||
8dbf591624 | |||
ccdc3e07b8 | |||
3d8e08e398 | |||
ba58b846e2 | |||
e4657f36e0 | |||
558cd89e95 | |||
47f62d23b6 | |||
c57dff5a44 |
@ -1,10 +0,0 @@
|
||||
[client]
|
||||
default-character-set=utf8
|
||||
|
||||
[mysql]
|
||||
default-character-set=utf8
|
||||
|
||||
|
||||
[mysqld]
|
||||
collation-server = utf8_unicode_ci
|
||||
character-set-server = utf8
|
@ -13,8 +13,8 @@ error_reporting(-1);
|
||||
putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||
|
||||
|
||||
$DEVILBOX_VERSION = 'v0.15.0';
|
||||
$DEVILBOX_DATE = '2019-03-09';
|
||||
$DEVILBOX_VERSION = 'v1.0.1';
|
||||
$DEVILBOX_DATE = '2019-03-24';
|
||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||
|
||||
//
|
||||
|
@ -679,14 +679,14 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
<?php if ($avail_mysql): ?>
|
||||
<tr>
|
||||
<th>mysql</th>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HOST_PATH_MYSQL_DATADIR').'/'.loadClass('Helper')->getEnv('MYSQL_SERVER'); ?></td>
|
||||
<td>Docker volume</td>
|
||||
<td>/var/lib/mysql</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php if ($avail_pgsql): ?>
|
||||
<tr>
|
||||
<th>pgsql</th>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HOST_PATH_PGSQL_DATADIR').'/'.loadClass('Helper')->getEnv('PGSQL_SERVER'); ?></td>
|
||||
<td>Docker volume</td>
|
||||
<td>/var/lib/postgresql/data/pgdata</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
@ -707,7 +707,7 @@ $HEALTH_PERCENT = 100 - ceil(100 * $HEALTH_FAILS / $HEALTH_TOTAL);
|
||||
<?php if ($avail_mongo): ?>
|
||||
<tr>
|
||||
<th>mongo</th>
|
||||
<td><?php echo loadClass('Helper')->getEnv('HOST_PATH_MONGO_DATADIR'); ?></td>
|
||||
<td>Docker volume</td>
|
||||
<td>/data/db</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -19,10 +19,6 @@
|
||||
/log/[a-z0-9-]*
|
||||
|
||||
# Ignore Data dirs
|
||||
/data/mongo/*
|
||||
/data/mysql/*
|
||||
/data/pgsql/*
|
||||
/data/rabbit/*
|
||||
/data/www/*
|
||||
|
||||
# Ignore Certificate Authority
|
||||
@ -51,9 +47,12 @@
|
||||
/cfg/mariadb-10.0/*.cnf
|
||||
/cfg/mariadb-10.1/*.cnf
|
||||
/cfg/mariadb-10.2/*.cnf
|
||||
/cfg/mariadb-10.3/*.cnf
|
||||
/cfg/mariadb-10.4/*.cnf
|
||||
/cfg/percona-5.5/*.cnf
|
||||
/cfg/percona-5.6/*.cnf
|
||||
/cfg/percona-5.7/*.cnf
|
||||
/cfg/percona-8.0/*.cnf
|
||||
|
||||
# Ignore custom PHP.ini configs
|
||||
/cfg/php-ini-5.2/*.ini
|
||||
|
@ -142,9 +142,12 @@ env:
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.0
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.1
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.2
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.3
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=mariadb-10.4
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.5
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.6
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=percona-5.7
|
||||
- S1=PHP V1=7.2 S2=MYSQL V2=percona-8.0
|
||||
# PHP 7.2 vs PgSQL
|
||||
- S1=PHP V1=7.2 S2=PGSQL V2=9.0
|
||||
- S1=PHP V1=7.2 S2=PGSQL V2=9.1
|
||||
|
76
CHANGELOG.md
76
CHANGELOG.md
@ -3,22 +3,68 @@
|
||||
Make sure to have a look at [UPDATING](https://github.com/cytopia/devilbox/blob/master/UPDATING.md) to see any required steps for updating
|
||||
major versions.
|
||||
|
||||
## [unreleasd]
|
||||
|
||||
## Bugfix Release v1.0.1 (2019-03-24)
|
||||
|
||||
This is a bugfix release and everybody is encouraged to upgrade to this tag as soon as possible.
|
||||
No explicit actions to be taken for updating.
|
||||
|
||||
#### Fixed
|
||||
- [#373](https://github.com/cytopia/devilbox/issues/373) Read custom MySQL configuration
|
||||
- [#540](https://github.com/cytopia/devilbox/issues/540) Fix '&' password substitution in mysqldump-secure
|
||||
- [#209](https://github.com/cytopia/devilbox/issues/209) Documentation for Xdebug on Docker for Windows
|
||||
|
||||
#### Changed
|
||||
- Split Bind container into internal DNS and autoDNS: #248
|
||||
- This fixes various issues with Docker Toolbox and DNS resolution: #119
|
||||
- Updated MongoDB cli tools in PHP image
|
||||
- Updated PostgreSQL cli tools in PHP image
|
||||
- MySQL images are now bound to a specific Docker tag and are built nightly
|
||||
- [#506](https://github.com/cytopia/devilbox/issues/506) Documentation improvements for connecting to databases
|
||||
|
||||
#### Added
|
||||
- [#536](https://github.com/cytopia/devilbox/issues/536) Added @vue/cli and @vue/cli-service-global
|
||||
|
||||
|
||||
## v1.0.0-alpha1 [unreleased]
|
||||
## Release v1.0.0 (2019-03-19)
|
||||
|
||||
This is the first major stable release of the Devilbox.
|
||||
|
||||
#### Changed
|
||||
- Everything from v1.0.0-alpha1 has been backported
|
||||
- Everything from v0.15.0 has been backported
|
||||
|
||||
|
||||
## Pre-Release v1.0.0-alpha1 (2019-03-09)
|
||||
|
||||
#### Changed
|
||||
- Use Docker volumes instead of directory mounts for stateful data (MySQL, PgSQL and MongoDB)
|
||||
- This fixes various mount issues on Windows: #175 #382
|
||||
- This improves general performance
|
||||
- Use Official MySQL, MariaDB and Percona Docker container
|
||||
|
||||
|
||||
## v0.15.0
|
||||
## Release v0.15.0 (2019-03-09)
|
||||
|
||||
This will be the last v0.x release.
|
||||
|
||||
#### Fixed
|
||||
- break on errors in wrong vhost-gen overwrite
|
||||
- XSS vulnerability in email display
|
||||
- Various fixes in Documentation
|
||||
- vhost-gen fixes
|
||||
|
||||
#### Changed
|
||||
- Use semantic versioning
|
||||
- This allows for faster releases
|
||||
- This allows for better visibility of breaking changes (note that breaking changes might still occur before release v1.0.0)
|
||||
- Autologin for phpMyAdmin
|
||||
- Autologin for phpPgAdmin
|
||||
- Intranet to show vhost and vhost-gen overwrite config per vhost
|
||||
- Allow to specify Redis startup arguments (e.g.: password)
|
||||
- Fixed hostnames for all Docker container
|
||||
- PHP-FPM workers changed from `dynamic` to `ondemand`
|
||||
- Allow Apache to server underscore domains
|
||||
- Changed Nginx `client_max_body_size` to `0` to be in sync with Apache
|
||||
- Document failing start behaviour of MySQL container
|
||||
|
||||
#### Added
|
||||
- [CHANGELOG](https://github.com/cytopia/devilbox/blob/master/CHANGELOG.md) by the standard of: https://keepachangelog.com
|
||||
@ -37,6 +83,7 @@ major versions.
|
||||
- PHP 5.2
|
||||
- PHP 5.3
|
||||
- PHP 7.4
|
||||
- PHP 8.0
|
||||
- Alpine images where possible
|
||||
- Docker Compose overwrite images:
|
||||
- Blackfire
|
||||
@ -81,22 +128,3 @@ major versions.
|
||||
- Typo3
|
||||
- GitHub Issue templates
|
||||
- Discourse forum link: https://devilbox.discourse.group
|
||||
|
||||
#### Changed
|
||||
- Use semantic versioning
|
||||
- This allows for faster releases
|
||||
- This allows for better visibility of breaking changes (note that breaking changes might still occur before release v1.0.0)
|
||||
- Autologin for phpMyAdmin
|
||||
- Autologin for phpPgAdmin
|
||||
- Intranet to show vhost and vhost-gen overwrite config per vhost
|
||||
- Allow to specify Redis startup arguments (e.g.: password)
|
||||
- Fixed hostnames for all Docker container
|
||||
- PHP-FPM workers changed from `dynamic` to `ondemand`
|
||||
- Allow Apache to server underscore domains
|
||||
- Changed Nginx `client_max_body_size` to `0` to be in sync with Apache
|
||||
|
||||
#### Fixed
|
||||
- break on errors in wrong vhost-gen overwrite
|
||||
- XSS vulnerability in email display
|
||||
- Various fixes in Documentation
|
||||
- vhost-gen fixes
|
||||
|
30
README.md
30
README.md
@ -214,9 +214,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="Apache 2.2" href="https://github.com/devilbox/docker-apache-2.2">2.2</a></td>
|
||||
<td><a target="_blank" title="Nginx stable" href="https://github.com/devilbox/docker-nginx-stable">stable</a></td>
|
||||
<td><a target="_blank" title="PHP 5.2" href="https://github.com/devilbox/docker-php-fpm">5.2</a><sup>[1]</sup></td>
|
||||
<td><a target="_blank" title="MySQL 5.5" href="https://github.com/cytopia/docker-mysql-5.5">5.5</a></td>
|
||||
<td><a target="_blank" title="MariaDB 5.5" href="https://github.com/cytopia/docker-mariadb-5.5">5.5</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.5" href="https://github.com/cytopia/docker-percona-5.5">5.5</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.5" href="https://github.com/devilbox/docker-mysql">5.5</a></td>
|
||||
<td><a target="_blank" title="MariaDB 5.5" href="https://github.com/devilbox/docker-mysql">5.5</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.5" href="https://github.com/devilbox/docker-mysql">5.5</a></td>
|
||||
<td><a target="_blank" title="PgSQL 9.0" href="https://github.com/docker-library/postgres">9.0</a></td>
|
||||
<td><a target="_blank" title="Redis 2.8" href="https://github.com/docker-library/redis">2.8</a></td>
|
||||
<td><a target="_blank" title="Memcached 1.4" href="https://github.com/docker-library/memcached">1.4</a></td>
|
||||
@ -226,9 +226,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td><a target="_blank" title="Apache 2.4" href="https://github.com/devilbox/docker-apache-2.4">2.4</a></td>
|
||||
<td><a target="_blank" title="Nginx mainline" href="https://github.com/devilbox/docker-nginx-mainline">mainline</a></td>
|
||||
<td><a target="_blank" title="PHP 5.3" href="https://github.com/devilbox/docker-php-fpm">5.3</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.6" href="https://github.com/cytopia/docker-mysql-5.6">5.6</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.0" href="https://github.com/cytopia/docker-mariadb-10.0">10.0</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.6" href="https://github.com/cytopia/docker-percona-5.6">5.6</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.6" href="https://github.com/devilbox/docker-mysql">5.6</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.0" href="https://github.com/devilbox/docker-mysql">10.0</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.6" href="https://github.com/devilbox/docker-mysql">5.6</a></td>
|
||||
<td><a target="_blank" title="PgSQL 9.1" href="https://github.com/docker-library/postgres">9.1</a></td>
|
||||
<td><a target="_blank" title="Redis 3.0" href="https://github.com/docker-library/redis">3.0</a></td>
|
||||
<td><a target="_blank" title="Memcached 1.5" href="https://github.com/docker-library/memcached">1.5</a></td>
|
||||
@ -238,9 +238,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 5.4" href="https://github.com/devilbox/docker-php-fpm">5.4</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.7" href="https://github.com/cytopia/docker-mysql-5.7">5.7</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.1" href="https://github.com/cytopia/docker-mariadb-10.1">10.1</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.7" href="https://github.com/cytopia/docker-percona-5.7">5.7</a></td>
|
||||
<td><a target="_blank" title="MySQL 5.7" href="https://github.com/devilbox/docker-mysql">5.7</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.1" href="https://github.com/devilbox/docker-mysql">10.1</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 5.7" href="https://github.com/devilbox/docker-mysql">5.7</a></td>
|
||||
<td><a target="_blank" title="PgSQL 9.2" href="https://github.com/docker-library/postgres">9.2</a></td>
|
||||
<td><a target="_blank" title="Redis 3.2" href="https://github.com/docker-library/redis">3.2</a></td>
|
||||
<td><a target="_blank" title="Memcached latest" href="https://github.com/docker-library/memcached">latest</a></td>
|
||||
@ -250,9 +250,9 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 5.5" href="https://github.com/devilbox/docker-php-fpm">5.5</a></td>
|
||||
<td><a target="_blank" title="MySQL 8.0" href="https://github.com/cytopia/docker-mysql-8.0">8.0</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.2" href="https://github.com/cytopia/docker-mariadb-10.2">10.2</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MySQL 8.0" href="https://github.com/devilbox/docker-mysql">8.0</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.2" href="https://github.com/devilbox/docker-mysql">10.2</a></td>
|
||||
<td><a target="_blank" title="PerconaDB 8.0" href="https://github.com/devilbox/docker-mysql">8.0</a></td>
|
||||
<td><a target="_blank" title="PgSQL 9.3" href="https://github.com/docker-library/postgres">9.3</a></td>
|
||||
<td><a target="_blank" title="Redis 4.0" href="https://github.com/docker-library/redis">4.0</a></td>
|
||||
<td></td>
|
||||
@ -263,7 +263,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 5.6" href="https://github.com/devilbox/docker-php-fpm">5.6</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.3" href="https://github.com/cytopia/docker-mariadb-10.3">10.3</a></td>
|
||||
<td><a target="_blank" title="MariaDB 10.3" href="https://github.com/devilbox/docker-mysql">10.3</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 9.4" href="https://github.com/docker-library/postgres">9.4</a></td>
|
||||
<td><a target="_blank" title="Redis 5.0" href="https://github.com/docker-library/redis">5.0</a></td>
|
||||
@ -275,7 +275,7 @@ Every single attachable container comes with many different versions. In order t
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PHP 7.0" href="https://github.com/devilbox/docker-php-fpm">7.0</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="MariaDB 10.4" href="https://github.com/devilbox/docker-mysql">10.4</a></td>
|
||||
<td></td>
|
||||
<td><a target="_blank" title="PgSQL 9.5" href="https://github.com/docker-library/postgres">9.5</a></td>
|
||||
<td><a target="_blank" title="Redis latest" href="https://github.com/docker-library/redis">latest</a></td>
|
||||
@ -773,7 +773,7 @@ The Devilbox is a development stack, so it is made sure that a lot of PHP module
|
||||
| tidy | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| tokenizer | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| uploadprogress | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 |
|
||||
| wddx | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
||||
| xdebug | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | 🗸 | | |
|
||||
| xml | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
| xmlreader | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||
|
5
cfg/mariadb-10.4/devilbox-custom.cnf-example
Normal file
5
cfg/mariadb-10.4/devilbox-custom.cnf-example
Normal file
@ -0,0 +1,5 @@
|
||||
[mysqld]
|
||||
;key_buffer_size=16M
|
||||
|
||||
[mysqldump]
|
||||
;quick
|
5
cfg/percona-8.0/devilbox-custom.cnf-example
Normal file
5
cfg/percona-8.0/devilbox-custom.cnf-example
Normal file
@ -0,0 +1,5 @@
|
||||
[mysqld]
|
||||
;key_buffer_size=16M
|
||||
|
||||
[mysqldump]
|
||||
;quick
|
@ -95,7 +95,7 @@ services:
|
||||
# PHP
|
||||
# ------------------------------------------------------------
|
||||
php:
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.80
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work-0.81
|
||||
hostname: php
|
||||
|
||||
##
|
||||
@ -309,35 +309,12 @@ services:
|
||||
# MySQL Database
|
||||
# ------------------------------------------------------------
|
||||
mysql:
|
||||
image: cytopia/${MYSQL_SERVER}:latest
|
||||
image: devilbox/mysql:${MYSQL_SERVER}-0.3
|
||||
hostname: mysql
|
||||
|
||||
environment:
|
||||
|
||||
##
|
||||
## Debug?
|
||||
##
|
||||
- DEBUG_COMPOSE_ENTRYPOINT
|
||||
|
||||
##
|
||||
## Adjust timezone
|
||||
##
|
||||
- TIMEZONE
|
||||
|
||||
##
|
||||
## Adjust Root password
|
||||
##
|
||||
- MYSQL_ROOT_PASSWORD
|
||||
|
||||
##
|
||||
## Socket directory Path
|
||||
##
|
||||
- MYSQL_SOCKET_DIR=/tmp/mysql
|
||||
|
||||
##
|
||||
## Runtime settings
|
||||
##
|
||||
- MYSQL_GENERAL_LOG=${MYSQL_GENERAL_LOG}
|
||||
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
|
||||
|
||||
ports:
|
||||
# [local-machine:]local-port:docker-port
|
||||
@ -351,18 +328,12 @@ services:
|
||||
# ---- Format: ----
|
||||
# HOST-DIRECTORY : DOCKER-DIRECTORY
|
||||
|
||||
# Mount logs
|
||||
- ${DEVILBOX_PATH}/log/${MYSQL_SERVER}:/var/log/mysql:rw${MOUNT_OPTIONS}
|
||||
|
||||
# Mount devilbox default overwrites
|
||||
- ${DEVILBOX_PATH}/.devilbox/etc/${MYSQL_SERVER}:/etc/mysql/conf.d:ro${MOUNT_OPTIONS}
|
||||
|
||||
# Mount devilbox user-defined cnf files in order
|
||||
# to overwrite the MySQL server configuration
|
||||
- ${DEVILBOX_PATH}/cfg/${MYSQL_SERVER}:/etc/mysql/docker-default.d:ro${MOUNT_OPTIONS}
|
||||
|
||||
# Mount MySQL Data directory
|
||||
- ${HOST_PATH_MYSQL_DATADIR}/${MYSQL_SERVER}:/var/lib/mysql:rw${MOUNT_OPTIONS}
|
||||
- devilbox-${MYSQL_SERVER}:/var/lib/mysql:rw${MOUNT_OPTIONS}
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
@ -399,7 +370,7 @@ services:
|
||||
- ${DEVILBOX_PATH}/log/pgsql-${PGSQL_SERVER}:/var/log/postgresql:rw${MOUNT_OPTIONS}
|
||||
|
||||
# Mount PostgreSQL Data directory
|
||||
- ${HOST_PATH_PGSQL_DATADIR}/${PGSQL_SERVER}:/var/lib/postgresql/data/pgdata:rw${MOUNT_OPTIONS}
|
||||
- devilbox-pgsql-${PGSQL_SERVER}:/var/lib/postgresql/data/pgdata:rw${MOUNT_OPTIONS}
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
@ -427,13 +398,6 @@ services:
|
||||
app_net:
|
||||
ipv4_address: 172.16.238.14
|
||||
|
||||
volumes:
|
||||
# ---- Format: ----
|
||||
# HOST-DIRECTORY : DOCKER-DIRECTORY
|
||||
|
||||
# Mount logs
|
||||
- ${DEVILBOX_PATH}/log/redis-${REDIS_SERVER}:/var/log/redis:rw${MOUNT_OPTIONS}
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
- php
|
||||
@ -488,7 +452,7 @@ services:
|
||||
# HOST-DIRECTORY : DOCKER-DIRECTORY
|
||||
|
||||
# Mount MongoDB Data directory
|
||||
- ${HOST_PATH_MONGO_DATADIR}/${MONGO_SERVER}:/data/db:rw${MOUNT_OPTIONS}
|
||||
- devilbox-mongo-${MONGO_SERVER}:/data/db:rw${MOUNT_OPTIONS}
|
||||
|
||||
depends_on:
|
||||
- bind
|
||||
@ -510,6 +474,7 @@ networks:
|
||||
- subnet: 172.16.238.0/24
|
||||
gateway: 172.16.238.1
|
||||
|
||||
|
||||
################################################################################
|
||||
# VOLUMES
|
||||
################################################################################
|
||||
@ -518,3 +483,68 @@ volumes:
|
||||
# Misc
|
||||
# ------------------------------------------------------------
|
||||
devilbox-mail:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# MySQL
|
||||
# ------------------------------------------------------------
|
||||
devilbox-mysql-5.5:
|
||||
devilbox-mysql-5.6:
|
||||
devilbox-mysql-5.7:
|
||||
devilbox-mysql-8.0:
|
||||
devilbox-mariadb-5.5:
|
||||
devilbox-mariadb-10.0:
|
||||
devilbox-mariadb-10.1:
|
||||
devilbox-mariadb-10.2:
|
||||
devilbox-mariadb-10.3:
|
||||
devilbox-mariadb-10.4:
|
||||
devilbox-percona-5.5:
|
||||
devilbox-percona-5.6:
|
||||
devilbox-percona-5.7:
|
||||
devilbox-percona-8.0:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Postgres
|
||||
# ------------------------------------------------------------
|
||||
devilbox-pgsql-9.0:
|
||||
devilbox-pgsql-9.1:
|
||||
devilbox-pgsql-9.2:
|
||||
devilbox-pgsql-9.2-alpine:
|
||||
devilbox-pgsql-9.3:
|
||||
devilbox-pgsql-9.3-alpine:
|
||||
devilbox-pgsql-9.4:
|
||||
devilbox-pgsql-9.4-alpine:
|
||||
devilbox-pgsql-9.5:
|
||||
devilbox-pgsql-9.5-alpine:
|
||||
devilbox-pgsql-9.6:
|
||||
devilbox-pgsql-9.6-alpine:
|
||||
devilbox-pgsql-10.0:
|
||||
devilbox-pgsql-10.0-alpine:
|
||||
devilbox-pgsql-10.1:
|
||||
devilbox-pgsql-10.1-alpine:
|
||||
devilbox-pgsql-10.2:
|
||||
devilbox-pgsql-10.2-alpine:
|
||||
devilbox-pgsql-10.3:
|
||||
devilbox-pgsql-10.3-alpine:
|
||||
devilbox-pgsql-10.4:
|
||||
devilbox-pgsql-10.4-alpine:
|
||||
devilbox-pgsql-10.5:
|
||||
devilbox-pgsql-10.5-alpine:
|
||||
devilbox-pgsql-10.6:
|
||||
devilbox-pgsql-10.6-alpine:
|
||||
devilbox-pgsql-11.0:
|
||||
devilbox-pgsql-11.0-alpine:
|
||||
devilbox-pgsql-11.1:
|
||||
devilbox-pgsql-11.1-alpine:
|
||||
devilbox-pgsql-latest:
|
||||
devilbox-pgsql-alpine:
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# MongoDB
|
||||
# ------------------------------------------------------------
|
||||
devilbox-mongo-2.8:
|
||||
devilbox-mongo-3.0:
|
||||
devilbox-mongo-3.2:
|
||||
devilbox-mongo-3.4:
|
||||
devilbox-mongo-3.6:
|
||||
devilbox-mongo-4.0:
|
||||
devilbox-mongo-latest:
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 30 KiB |
Binary file not shown.
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 34 KiB |
@ -1,3 +1,9 @@
|
||||
.. |ext_lnk_blog_openstream| raw:: html
|
||||
|
||||
<a target="_blank" href="https://www.openstream.ch/developer-blog/devilbox/">
|
||||
Docker LAMP Stack for WordPress and Magento <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_blog_deliciousbrains| raw:: html
|
||||
|
||||
<a target="_blank" href="https://deliciousbrains.com/devilbox-local-wordpress-development-docker/">
|
||||
|
@ -231,6 +231,12 @@
|
||||
Text-mode Interface for Git <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_tool_vue| raw:: html
|
||||
|
||||
<a target="_blank" href="https://cli.vuejs.org">
|
||||
Standard Tooling for Vue.js Development <img src="https://raw.githubusercontent.com/cytopia/icons/master/11x11/ext-link.png" />
|
||||
</a>
|
||||
|
||||
.. |ext_lnk_tool_webpack| raw:: html
|
||||
|
||||
<a target="_blank" href="https://webpack.js.org">
|
||||
|
@ -1,7 +0,0 @@
|
||||
.. raw:: html
|
||||
|
||||
<div style="background-color:#dddcb7; border: 3px solid #DA111A; padding:10px 20px; margin-bottom:20px;">
|
||||
<h1 style="margin-bottom:15px;">Important Announcement</h1>
|
||||
<p style="margin:5px;">Everybody is strongly encouraged to switch to the upcoming v1.0.0 release version to prevent unforseen issues upon merge to master.</p>
|
||||
<p style="margin:5px;"><strong>Instructions here:</strong> <a target="_blank" href="https://github.com/cytopia/devilbox/pull/416">https://github.com/cytopia/devilbox/pull/416</a>.</p>
|
||||
</div>
|
||||
|
19
docs/_includes/snippets/core-container.rst
Normal file
19
docs/_includes/snippets/core-container.rst
Normal file
@ -0,0 +1,19 @@
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Container | Name | Hostname | IP Address |
|
||||
+===========================+=======+==========+================+
|
||||
| DNS | bind | bind | 172.16.238.100 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| PHP | php | php | 172.16.238.10 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Apache, Nginx | httpd | httpd | 172.16.238.11 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| MySQL, MariaDB, PerconaDB | mysql | mysql | 172.16.238.12 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| PostgreSQL | pgsql | pgsql | 172.16.238.13 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Redis | redis | redis | 172.16.238.14 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Memcached | memcd | memcd | 172.16.238.15 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| MongoDB | mongo | mongo | 172.16.238.16 |
|
||||
+---------------------------+-------+----------+----------------+
|
@ -397,7 +397,7 @@ This is especially useful to keep PHP and database timezones in sync.
|
||||
+-----------------------+----------------+-------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=======================+================+===================+
|
||||
| ``TIMEZONE`` | valid timezone | ``Europe/Berlin`` |
|
||||
| ``TIMEZONE`` | valid timezone | ``UTC`` |
|
||||
+-----------------------+----------------+-------------------+
|
||||
|
||||
Have a look at Wikipedia to get a list of valid timezones: |ext_lnk_doc_wiki_database_timezones|
|
||||
@ -628,7 +628,7 @@ This variable choses your desired MySQL server version to be started.
|
||||
+-------------------------+------------------------------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+================================================================================================+==================+
|
||||
| ``MYSQL_SERVER`` | ``mysql-5.5`` |br| ``mysql-5.6`` |br| ``mariadb-10.2`` |br| ``percona-5.7`` |br| and many more | ``mariadb-10.1`` |
|
||||
| ``MYSQL_SERVER`` | ``mysql-5.5`` |br| ``mysql-5.6`` |br| ``mariadb-10.2`` |br| ``percona-5.7`` |br| and many more | ``mariadb-10.3`` |
|
||||
+-------------------------+------------------------------------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
@ -645,12 +645,14 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#MYSQL_SERVER=mysql-8.0
|
||||
#MYSQL_SERVER=mariadb-5.5
|
||||
#MYSQL_SERVER=mariadb-10.0
|
||||
MYSQL_SERVER=mariadb-10.1
|
||||
#MYSQL_SERVER=mariadb-10.1
|
||||
#MYSQL_SERVER=mariadb-10.2
|
||||
#MYSQL_SERVER=mariadb-10.3
|
||||
MYSQL_SERVER=mariadb-10.3
|
||||
#MYSQL_SERVER=mariadb-10.4
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
|
||||
|
||||
.. _env_pgsql_server:
|
||||
@ -663,7 +665,7 @@ This variable choses your desired PostgreSQL server version to be started.
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``PGSQL_SERVER`` | ``9.1`` |br| ``9.2`` |br| ``9.3`` |br| ``9.4`` |br| and many more | ``9.6`` |
|
||||
| ``PGSQL_SERVER`` | ``9.1`` |br| ``9.2`` |br| ``9.3`` |br| ``9.4`` |br| and many more | ``11.1`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
@ -674,13 +676,38 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
|
||||
host> grep PGSQL_SERVER .env
|
||||
|
||||
#PGSQL_SERVER=9.0
|
||||
#PGSQL_SERVER=9.1
|
||||
#PGSQL_SERVER=9.2
|
||||
#PGSQL_SERVER=9.2-alpine
|
||||
#PGSQL_SERVER=9.3
|
||||
#PGSQL_SERVER=9.3-alpine
|
||||
#PGSQL_SERVER=9.4
|
||||
#PGSQL_SERVER=9.4-alpine
|
||||
#PGSQL_SERVER=9.5
|
||||
PGSQL_SERVER=9.6
|
||||
#PGSQL_SERVER=9.5-alpine
|
||||
#PGSQL_SERVER=9.6
|
||||
#PGSQL_SERVER=9.6-alpine
|
||||
#PGSQL_SERVER=10.0
|
||||
#PGSQL_SERVER=10.0-alpine
|
||||
#PGSQL_SERVER=10.1
|
||||
#PGSQL_SERVER=10.1-alpine
|
||||
#PGSQL_SERVER=10.2
|
||||
#PGSQL_SERVER=10.2-alpine
|
||||
#PGSQL_SERVER=10.3
|
||||
#PGSQL_SERVER=10.3-alpine
|
||||
#PGSQL_SERVER=10.4
|
||||
#PGSQL_SERVER=10.4-alpine
|
||||
#PGSQL_SERVER=10.5
|
||||
#PGSQL_SERVER=10.5-alpine
|
||||
#PGSQL_SERVER=10.6
|
||||
#PGSQL_SERVER=10.6-alpine
|
||||
#PGSQL_SERVER=11.0
|
||||
#PGSQL_SERVER=11.0-alpine
|
||||
PGSQL_SERVER=11.1
|
||||
#PGSQL_SERVER=11.1-alpine
|
||||
#PGSQL_SERVER=latest
|
||||
#PGSQL_SERVER=alpine
|
||||
|
||||
.. note::
|
||||
This is the official PostgreSQL server which might already have other tags available,
|
||||
@ -698,7 +725,7 @@ This variable choses your desired Redis server version to be started.
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``REDIS_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``4.0`` |br| and many more | ``4.0`` |
|
||||
| ``REDIS_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``4.0`` |br| and many more | ``5.0`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
@ -711,8 +738,15 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
|
||||
#REDIS_SERVER=2.8
|
||||
#REDIS_SERVER=3.0
|
||||
#REDIS_SERVER=3.0-alpine
|
||||
#REDIS_SERVER=3.2
|
||||
REDIS_SERVER=4.0
|
||||
#REDIS_SERVER=3.2-alpine
|
||||
#REDIS_SERVER=4.0
|
||||
#REDIS_SERVER=4.0-alpine
|
||||
REDIS_SERVER=5.0
|
||||
#REDIS_SERVER=5.0-alpine
|
||||
#REDIS_SERVER=latest
|
||||
#REDIS_SERVER=alpine
|
||||
|
||||
.. note::
|
||||
This is the official Redis server which might already have other tags available,
|
||||
@ -727,43 +761,26 @@ MEMCD_SERVER
|
||||
|
||||
This variable choses your desired Memcached server version to be started.
|
||||
|
||||
+-------------------------+-------------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===============================================================================+==================+
|
||||
| ``MEMCD_SERVER`` | ``1.4.21`` |br| ``1.4.22`` |br| ``1.4.23`` |br| ``1.4.24`` |br| and many more | ``1.5.2`` |
|
||||
+-------------------------+-------------------------------------------------------------------------------+------------------+
|
||||
+-------------------------+---------------------------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+=============================================================================================+==================+
|
||||
| ``MEMCD_SERVER`` | ``1.4`` |br| ``1.4-alpine`` |br| ``1.5`` |br| ``1.5-alpine`` |br| ``latest`` and ``alpine`` | ``1.5`` |
|
||||
+-------------------------+---------------------------------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 24
|
||||
:emphasize-lines: 5
|
||||
|
||||
host> grep MEMCD_SERVER .env
|
||||
|
||||
#MEMCD_SERVER=1.4.21
|
||||
#MEMCD_SERVER=1.4.22
|
||||
#MEMCD_SERVER=1.4.23
|
||||
#MEMCD_SERVER=1.4.24
|
||||
#MEMCD_SERVER=1.4.25
|
||||
#MEMCD_SERVER=1.4.26
|
||||
#MEMCD_SERVER=1.4.27
|
||||
#MEMCD_SERVER=1.4.28
|
||||
#MEMCD_SERVER=1.4.29
|
||||
#MEMCD_SERVER=1.4.30
|
||||
#MEMCD_SERVER=1.4.31
|
||||
#MEMCD_SERVER=1.4.32
|
||||
#MEMCD_SERVER=1.4.33
|
||||
#MEMCD_SERVER=1.4.34
|
||||
#MEMCD_SERVER=1.4.35
|
||||
#MEMCD_SERVER=1.4.36
|
||||
#MEMCD_SERVER=1.4.37
|
||||
#MEMCD_SERVER=1.4.38
|
||||
#MEMCD_SERVER=1.4.39
|
||||
#MEMCD_SERVER=1.5.0
|
||||
#MEMCD_SERVER=1.5.1
|
||||
MEMCD_SERVER=1.5.2
|
||||
#MEMCD_SERVER=1.4
|
||||
#MEMCD_SERVER=1.4-alpine
|
||||
MEMCD_SERVER=1.5
|
||||
#MEMCD_SERVER=1.5-alpine
|
||||
#MEMCD_SERVER=latest
|
||||
#MEMCD_SERVER=alpine
|
||||
|
||||
.. note::
|
||||
This is the official Memcached server which might already have other tags available,
|
||||
@ -778,11 +795,11 @@ MONGO_SERVER
|
||||
|
||||
This variable choses your desired MongoDB server version to be started.
|
||||
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================================================================+==================+
|
||||
| ``MONGO_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``3.4`` |br| and many more | ``3.4`` |
|
||||
+-------------------------+-------------------------------------------------------------------+------------------+
|
||||
+-------------------------+----------------------------------------------------------------------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+============================================================================+==================+
|
||||
| ``MONGO_SERVER`` | ``2.8`` |br| ``3.0`` |br| ``3.2`` |br| ``3.4`` |br| ``4.0`` and ``latest`` | ``4.0`` |
|
||||
+-------------------------+----------------------------------------------------------------------------+------------------+
|
||||
|
||||
All values are already available in the ``.env`` file and just need to be commented or uncommented. If multiple values are uncommented, the last uncommented variable one takes precedences:
|
||||
|
||||
@ -795,8 +812,10 @@ All values are already available in the ``.env`` file and just need to be commen
|
||||
#MONGO_SERVER=2.8
|
||||
#MONGO_SERVER=3.0
|
||||
#MONGO_SERVER=3.2
|
||||
MONGO_SERVER=3.4
|
||||
#MONGO_SERVER=3.5
|
||||
#MONGO_SERVER=3.4
|
||||
#MONGO_SERVER=3.6
|
||||
MONGO_SERVER=4.0
|
||||
#MONGO_SERVER=latest
|
||||
|
||||
.. note::
|
||||
This is the official MongoDB server which might already have other tags available,
|
||||
@ -904,134 +923,6 @@ always be ``/shared/httpd/``.
|
||||
``docker-compose rm``.
|
||||
|
||||
|
||||
.. _env_mysql_datadir:
|
||||
|
||||
HOST_PATH_MYSQL_DATADIR
|
||||
-----------------------
|
||||
|
||||
This is an absolute or relative path (relative to Devilbox git directory) to your MySQL data directory.
|
||||
|
||||
* Relative path: relative to the devilbox git directory (Must start with ``.``)
|
||||
* Absolute path: Full path (Must start with ``/``)
|
||||
|
||||
+------------------------------+----------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+==============================+================+==================+
|
||||
| ``HOST_PATH_MYSQL_DATADIR`` | valid path | ``./data/mysql`` |
|
||||
+------------------------------+----------------+------------------+
|
||||
|
||||
Each MySQL, MariaDB or PerconaDB version will have its own subdirectory, so when first running MySQL 5.5
|
||||
and then starting MySQL 5.6, you will have a different database with different data.
|
||||
|
||||
Having each version separated from each other makes sure that you don't accidently upgrade
|
||||
from a lower to a higher version which might not be reversable. (MySQL auto-upgrade certain older
|
||||
data files to newer, but this process does not necessarily work the other way round and could result in failues).
|
||||
|
||||
The directory structure will look something like this:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> ls -l ./data/mysql/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mariadb-10.0/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mariadb-10.1/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mariadb-10.2/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mariadb-10.3/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.5/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.6/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-5.7/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 mysql-8.0/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.5/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.6/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 percona-5.7/
|
||||
|
||||
.. warning::
|
||||
:ref:`remove_stopped_container`
|
||||
Whenever you change this value you have to stop the Devilbox and also remove the stopped
|
||||
container via
|
||||
``docker-compose rm``.
|
||||
|
||||
|
||||
.. _env_pgsql_datadir:
|
||||
|
||||
HOST_PATH_PGSQL_DATADIR
|
||||
-----------------------
|
||||
|
||||
This is an absolute or relative path (relative to Devilbox git directory) to your PostgreSQL data directory.
|
||||
|
||||
* Relative path: relative to the devilbox git directory (Must start with ``.``)
|
||||
* Absolute path: Full path (Must start with ``/``)
|
||||
|
||||
+------------------------------+----------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+==============================+================+==================+
|
||||
| ``HOST_PATH_PGSQL_DATADIR`` | valid path | ``./data/pgsql`` |
|
||||
+------------------------------+----------------+------------------+
|
||||
|
||||
Each PostgreSQL version will have its own subdirectory, so when first running PostgreSQL 9.1
|
||||
and then starting PostgreSQL 10.0, you will have a different database with different data.
|
||||
|
||||
Having each version separated from each other makes sure that you don't accidently upgrade
|
||||
from a lower to a higher version which might not be reversable.
|
||||
|
||||
The directory structure will look something like this:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> ls -l ./data/pgsql/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.1/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.2/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.3/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.4/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.5/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 9.6/
|
||||
|
||||
.. warning::
|
||||
:ref:`remove_stopped_container`
|
||||
Whenever you change this value you have to stop the Devilbox and also remove the stopped
|
||||
container via
|
||||
``docker-compose rm``.
|
||||
|
||||
|
||||
.. _env_mongo_datadir:
|
||||
|
||||
HOST_PATH_MONGO_DATADIR
|
||||
-----------------------
|
||||
|
||||
This is an absolute or relative path (relative to Devilbox git directory) to your MongoDB data directory.
|
||||
|
||||
* Relative path: relative to the devilbox git directory (Must start with ``.``)
|
||||
* Absolute path: Full path (Must start with ``/``)
|
||||
|
||||
+------------------------------+----------------+------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+==============================+================+==================+
|
||||
| ``HOST_PATH_MONGO_DATADIR`` | valid path | ``./data/mongo`` |
|
||||
+------------------------------+----------------+------------------+
|
||||
|
||||
Each MongoDB version will have its own subdirectory, so when first running MongoDB 2.8
|
||||
and then starting MongoDB 3.5, you will have a different database with different data.
|
||||
|
||||
Having each version separated from each other makes sure that you don't accidently upgrade
|
||||
from a lower to a higher version which might not be reversable.
|
||||
|
||||
The directory structure will look something like this:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> ls -l ./data/mongo/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 2.8/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 3.0/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 3.2/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 3.4/
|
||||
drwxrwxr-x 6 48 48 4096 Jun 21 08:47 3.5/
|
||||
|
||||
.. warning::
|
||||
:ref:`remove_stopped_container`
|
||||
Whenever you change this value you have to stop the Devilbox and also remove the stopped
|
||||
container via
|
||||
``docker-compose rm``.
|
||||
|
||||
|
||||
Docker host ports
|
||||
=================
|
||||
|
||||
@ -1584,27 +1475,9 @@ be able to display information inside the bundled intranet.
|
||||
Keep this variable in sync with the actual MySQL root password.
|
||||
|
||||
|
||||
MYSQL_GENERAL_LOG
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
This variable controls the logging behaviour of the MySQL server (MySQL, MariaDB and PerconaDB).
|
||||
As the Devilbox is intended to be used for development, this feature is turned on by default.
|
||||
|
||||
+-------------------------+-------------------+---------------------+
|
||||
| Name | Allowed values | Default value |
|
||||
+=========================+===================+=====================+
|
||||
| ``MYSQL_GENERAL_LOG`` | ``0`` or ``1`` | ``0`` |
|
||||
+-------------------------+-------------------+---------------------+
|
||||
|
||||
**MySQL documentation:**
|
||||
"The general query log is a general record of what mysqld is doing. The server writes information to this log when clients connect or disconnect, and it logs each SQL statement received from clients. The general query log can be very useful when you suspect an error in a client and want to know exactly what the client sent to mysqld."
|
||||
|
||||
-- |ext_lnk_doc_mysql_query_log|
|
||||
|
||||
PostgreSQL
|
||||
----------
|
||||
|
||||
|
||||
PGSQL_ROOT_USER
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -38,6 +38,7 @@ See the directory structure for MySQL configuration directories inside ``./cfg/`
|
||||
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/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-10.3/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mariadb-10.4/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mysql-5.5/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mysql-5.6/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 mysql-5.7/
|
||||
@ -45,6 +46,7 @@ See the directory structure for MySQL configuration directories inside ``./cfg/`
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 percona-5.5/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 percona-5.6/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 percona-5.7/
|
||||
drwxr-xr-x 2 cytopia cytopia 4096 Mar 5 21:53 percona-8.0/
|
||||
|
||||
Customization is achieved by placing a file into ``cfg/mysql-X.X/``, ``cfg/mariadb-X.X/`` or
|
||||
``cfg/percona-X-X`` (where ``X.X`` stands for your MySQL version).
|
||||
|
@ -9,7 +9,7 @@ Setup Wordpress
|
||||
|
||||
This example will use ``git`` to install Wordpress from within the Devilbox PHP container.
|
||||
|
||||
After completing the below listed steps, you will have a working Laravel setup ready to be
|
||||
After completing the below listed steps, you will have a working Wordpress setup ready to be
|
||||
served via http and https.
|
||||
|
||||
.. seealso:: |ext_lnk_example_wordpress_documentation|
|
||||
|
@ -34,86 +34,6 @@ Projects
|
||||
:ref:`howto_move_projects_to_a_different_directory`
|
||||
Follow this guide to keep your projects separated from the Devilbox git directory.
|
||||
|
||||
Databases
|
||||
---------
|
||||
|
||||
Moving your projects out of the Devilbox git directory is one step, you still need to take care
|
||||
about persistent data of all available databases as well.
|
||||
|
||||
Let's assume you desired location for database storage is at ``/home/user/workspace/db/``.
|
||||
|
||||
MySQL
|
||||
^^^^^
|
||||
|
||||
All you have to to is to adjust the path of :ref:`env_mysql_datadir` in the ``.env`` file.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Navigate to Devilbox git directory
|
||||
host> cd path/to/devilbox
|
||||
|
||||
# Open the .env file with your favourite editor
|
||||
host> vim .env
|
||||
|
||||
Now Adjust the value of :ref:`env_mysql_datadir`
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 1
|
||||
|
||||
HOST_PATH_MYSQL_DATADIR=/home/user/workspace/db/mysql
|
||||
|
||||
That's it, whenever you start up the Devilbox ``/home/user/workspace/db/mysql/`` will be mounted
|
||||
into the MySQL container.
|
||||
|
||||
PostgreSQL
|
||||
^^^^^^^^^^
|
||||
|
||||
All you have to to is to adjust the path of :ref:`env_pgsql_datadir` in the ``.env`` file.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Navigate to Devilbox git directory
|
||||
host> cd path/to/devilbox
|
||||
|
||||
# Open the .env file with your favourite editor
|
||||
host> vim .env
|
||||
|
||||
Now Adjust the value of :ref:`env_pgsql_datadir`
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 1
|
||||
|
||||
HOST_PATH_PGSQL_DATADIR=/home/user/workspace/db/pgsql
|
||||
|
||||
That's it, whenever you start up the Devilbox ``/home/user/workspace/db/pqsql/`` will be mounted
|
||||
into the PostgreSQL container.
|
||||
|
||||
MongoDB
|
||||
^^^^^^^
|
||||
|
||||
All you have to to is to adjust the path of :ref:`env_mongo_datadir` in the ``.env`` file.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Navigate to Devilbox git directory
|
||||
host> cd path/to/devilbox
|
||||
|
||||
# Open the .env file with your favourite editor
|
||||
host> vim .env
|
||||
|
||||
Now Adjust the value of :ref:`env_mongo_datadir`
|
||||
|
||||
.. code-block:: bash
|
||||
:caption: .env
|
||||
:emphasize-lines: 1
|
||||
|
||||
HOST_PATH_MONGO_DATADIR=/home/user/workspace/db/mongo
|
||||
|
||||
That's it, whenever you start up the Devilbox ``/home/user/workspace/db/mongo/`` will be mounted
|
||||
into the MongoDB container.
|
||||
|
||||
|
||||
Version control ``.env`` file
|
||||
-----------------------------
|
||||
@ -154,19 +74,11 @@ PHP project hostname settings
|
||||
=============================
|
||||
|
||||
When configuring your PHP projects to use MySQL, PostgreSQL, Redis, Mongo and other services,
|
||||
make sure to set the hostname of each of those services to ``127.0.0.1``.
|
||||
make sure to set the hostname/address of each of those services to how they are defined within the
|
||||
Devilbox network:
|
||||
|
||||
**Why is that?**
|
||||
.. include:: /_includes/snippets/core-container.rst
|
||||
|
||||
The PHP container port-forwards each service port to its own listen address on ``127.0.0.1``.
|
||||
The Devilbox also exposes each of those service ports to the host operating system on ``127.0.0.1``.
|
||||
|
||||
This allows you to keep your project configuration unchanged and have the same behaviour inside the
|
||||
PHP container and on your host operating system.
|
||||
|
||||
.. important::
|
||||
Do not mix up ``localhost`` with ``127.0.0.1``. They behave differently!
|
||||
Use ``127.0.0.1`` and do not use ``localhost``.
|
||||
|
||||
As an example, if you want to access the MySQL database from within the PHP container, you do the
|
||||
following:
|
||||
@ -181,10 +93,11 @@ following:
|
||||
host> ./shell.sh
|
||||
|
||||
# Enter the MySQL console
|
||||
php> mysql -u root -h 127.0.0.1 -p
|
||||
php> mysql -u root -h mysql -p
|
||||
mysql>
|
||||
|
||||
The very same command applies to access the MySQL database from your host operating system:
|
||||
To access the MySQL database from your host operating system you would need the address to what it
|
||||
exposes to on your host (usually ``127.0.0.1``):
|
||||
|
||||
.. code-block:: bash
|
||||
:emphasize-lines: 2
|
||||
@ -193,17 +106,14 @@ The very same command applies to access the MySQL database from your host operat
|
||||
host> mysql -u root -h 127.0.0.1 -p
|
||||
mysql>
|
||||
|
||||
So no matter if you use the Devilbox or have another LAMP stack installed locally on your host
|
||||
operating system, you do not have to change your configuration files if you stick to this tip.
|
||||
|
||||
So any of your projects php files that configure MySQL as an example should point the hostname
|
||||
or IP address of the MySQL server to ``127.0.0.1``:
|
||||
Any of your projects php files that configure MySQL as an example should point the hostname
|
||||
or IP address of the MySQL server to ``mysql``:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
// MySQL server connection in your project configuration
|
||||
mysql_host = '127.0.0.1';
|
||||
mysql_host = 'mysql';
|
||||
mysql_port = '3306';
|
||||
mysql_user = 'someusername';
|
||||
mysql_pass = 'somepassword';
|
||||
@ -215,11 +125,11 @@ or IP address of the MySQL server to ``127.0.0.1``:
|
||||
Timezone
|
||||
========
|
||||
|
||||
The :ref:`env_timezone` value will affect PHP, web server and MySQL container equally. It does
|
||||
The :ref:`env_timezone` value will affect PHP and web serverequally. It does
|
||||
however not affect any other official Docker container that are used within the Devilbox. This is
|
||||
an issue that is currently still being worked on.
|
||||
|
||||
Feel free to change this to any timezone you require for PHP and MySQL, but keep in mind that
|
||||
Feel free to change this to any timezone you require for PHP, but keep in mind that
|
||||
timezone values for databases can be painful, once you want to switch to a different timezone.
|
||||
|
||||
A good practice is to always use ``UTC`` on databases and have your front-end application calculate
|
||||
|
@ -36,41 +36,14 @@ Gather Host IP address
|
||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||
via ``xdebug.remote_host``.
|
||||
|
||||
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||
on your configuration:
|
||||
|
||||
1. DockerNat IP address (no custom configuration applied)
|
||||
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||
|
||||
Only one of the options may be valid for your setup.
|
||||
|
||||
DockerNAT IP address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. important::
|
||||
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||
Ensure you substitute it with the correct IP address.
|
||||
|
||||
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||
|
||||
Virtual Switch IP address
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||
Virtual Switch IP address instead of the DockerNat IP address.
|
||||
|
||||
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
||||
use the ``Default Switch`` automatically.
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||
|
||||
|
@ -36,41 +36,14 @@ Gather Host IP address
|
||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||
via ``xdebug.remote_host``.
|
||||
|
||||
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||
on your configuration:
|
||||
|
||||
1. DockerNat IP address (no custom configuration applied)
|
||||
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||
|
||||
Only one of the options may be valid for your setup.
|
||||
|
||||
DockerNAT IP address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. important::
|
||||
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||
Ensure you substitute it with the correct IP address.
|
||||
|
||||
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||
|
||||
Virtual Switch IP address
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||
Virtual Switch IP address instead of the DockerNat IP address.
|
||||
|
||||
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
||||
use the ``Default Switch`` automatically.
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||
|
||||
|
@ -36,41 +36,14 @@ Gather Host IP address
|
||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||
via ``xdebug.remote_host``.
|
||||
|
||||
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||
on your configuration:
|
||||
|
||||
1. DockerNat IP address (no custom configuration applied)
|
||||
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||
|
||||
Only one of the options may be valid for your setup.
|
||||
|
||||
DockerNAT IP address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. important::
|
||||
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||
Ensure you substitute it with the correct IP address.
|
||||
|
||||
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||
|
||||
Virtual Switch IP address
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||
Virtual Switch IP address instead of the DockerNat IP address.
|
||||
|
||||
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
||||
use the ``Default Switch`` automatically.
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||
|
||||
|
@ -36,41 +36,14 @@ Gather Host IP address
|
||||
On Windows you will have to manually retrieve the IP address to which Xdebug should connect to
|
||||
via ``xdebug.remote_host``.
|
||||
|
||||
When gathering the Windows host IP address you will need to distinguish between two cases depending
|
||||
on your configuration:
|
||||
|
||||
1. DockerNat IP address (no custom configuration applied)
|
||||
2. Virtual Switch IP address (you have created a Virtual Switch to allow Internet access to your container)
|
||||
|
||||
Only one of the options may be valid for your setup.
|
||||
|
||||
DockerNAT IP address
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``DockerNAT`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. important::
|
||||
``192.168.0.12`` is meant as an example and will eventually differ on your system.
|
||||
Ensure you substitute it with the correct IP address.
|
||||
|
||||
.. seealso:: :ref:`howto_open_terminal_on_win`
|
||||
|
||||
Virtual Switch IP address
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
When you have created a custom Virtual Switch for you Docker setup, you will have to gather the
|
||||
Virtual Switch IP address instead of the DockerNat IP address.
|
||||
|
||||
Let's assume you have created the switch by the name **New Virtual Switch** as follows:
|
||||
When you have done no custom configuration in your Virtual Switch manager, Docker for Windows will
|
||||
use the ``Default Switch`` automatically.
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/virtual-switch-manager.rst
|
||||
|
||||
|
||||
1. Open command line
|
||||
2. Enter ``ipconfig``
|
||||
3. Look for the IP4 address in ``New Virtual Switch`` (e.g.: ``192.168.0.12``)
|
||||
3. Look for the IP4 address in ``Default Switch`` (e.g.: ``192.168.0.12``)
|
||||
|
||||
.. include:: /_includes/figures/xdebug/windows/ipconfig.rst
|
||||
|
||||
@ -137,7 +110,7 @@ You will need to configure the path mapping in ``launch.json`` (VSCode configura
|
||||
"request": "launch",
|
||||
"port": 9000,
|
||||
"pathMappings": {
|
||||
"/shared/httpd/mytest/htdocs": "${workspaceFolder}/htdocs"
|
||||
"/shared/httpd/mytest/htdocs": "${workspaceRoot}/htdocs"
|
||||
}
|
||||
}, {
|
||||
"name": "Launch currently open script",
|
||||
|
@ -36,10 +36,6 @@ The log directory structure would look something like this:
|
||||
│ ├── defaultlocalhost-error.log
|
||||
│ ├── <project-name>-access.log # Each project has its own access log
|
||||
│ ├── <project-name>-error.log # Each project has its own error log
|
||||
├── mariadb-10.1/
|
||||
│ ├── error.log
|
||||
│ ├── query.log
|
||||
│ ├── slow.log
|
||||
├── php-fpm-7.1/
|
||||
│ ├── php-fpm.access
|
||||
│ ├── php-fpm.error
|
||||
|
@ -171,71 +171,36 @@ See the following table for a few examples:
|
||||
IP address mappings
|
||||
-------------------
|
||||
|
||||
The following table shows a mapping of IP addresses of available service from the perspective
|
||||
of your host operating system and from within the PHP container.
|
||||
The following table shows a mapping of IP addresses and hostnames. In other words, when you are inside
|
||||
the PHP container, you can reach the services via the below defined IP addresses or hostnames:
|
||||
|
||||
+--------------+-----------------+------------------------------+
|
||||
| Service | IP from host os | IP from within PHP container |
|
||||
+==============+=================+==============================+
|
||||
| PHP | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| Apache/Nginx | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| MySQL | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| PostgreSQL | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| Redis | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| Memcached | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
| MongoDB | ``127.0.0.1`` | ``127.0.0.1`` |
|
||||
+--------------+-----------------+------------------------------+
|
||||
.. include:: /_includes/snippets/core-container.rst
|
||||
|
||||
As you can see, everyhing is available under ``127.0.0.1``.
|
||||
.. note:: It is recommended to use hostnames as they can be remembered much easiert.
|
||||
|
||||
The PHP container is using ``socat`` to forward the services from all other available containers
|
||||
to its own ``127.0.0.1`` address.
|
||||
|
||||
An example to access the MySQL database from either host or within the PHP container is the same:
|
||||
An example to access the MySQL database from within the PHP container:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Access MySQL from your host operating system
|
||||
host> mysql -h 127.0.0.1
|
||||
host> mysql -h 127.0.0.1 -u root -p
|
||||
|
||||
# Access MySQL from within the PHP container
|
||||
devilbox@php-7.0.19 in /shared/httpd $ mysql -h 127.0.0.1
|
||||
|
||||
.. important::
|
||||
Do not use ``localhost`` to access the services, it does not map to ``127.0.0.1`` on
|
||||
all cases.
|
||||
devilbox@php-7.0.19 in /shared/httpd $ mysql -h mysql -u root -p
|
||||
|
||||
So when setting up a configuration file from your PHP project you would for example use
|
||||
``127.0.0.`` as the host for your MySQL database connection:
|
||||
``mysql`` as the host for your MySQL database connection:
|
||||
|
||||
.. code-block:: php
|
||||
|
||||
<?php
|
||||
// MySQL server connection
|
||||
mysql_host = '127.0.0.1';
|
||||
mysql_host = 'mysql';
|
||||
mysql_port = '3306';
|
||||
mysql_user = 'someusername';
|
||||
mysql_pass = 'somepassword';
|
||||
?>
|
||||
|
||||
Imagine your PHP framework ships a command line tool to run database migration. You could run
|
||||
it from your host operating system or from within the PHP container. It would work from both
|
||||
sides as the connection to the database is exactly the same locally or within the container.
|
||||
|
||||
You could also even switch between the Devilbox and a locally installed LAMP stack
|
||||
and still use the same configuration.
|
||||
|
||||
.. important::
|
||||
The mapping of ``127.0.0.1`` to your host operating system does not work with
|
||||
Docker Toolbox out of the box. In order to achieve the same behaviour read up on:
|
||||
:ref:`howto_docker_toolbox_and_the_devilbox`.
|
||||
|
||||
|
||||
Port mappings
|
||||
-------------
|
||||
@ -283,7 +248,5 @@ Checklist
|
||||
2. You know how to become root inside the PHP container
|
||||
3. You know how to leave the container
|
||||
4. You know that file and directory permissions are synronized
|
||||
5. You know that ``127.0.0.1`` is available on your host and inside the PHP container
|
||||
6. You know that ports are the same inside the container and on your host os
|
||||
7. You know that project urls are available inside the container and on your host
|
||||
8. You know about the limitations of :ref:`howto_docker_toolbox_and_the_devilbox`
|
||||
5. You know by what hostnames you can reach a specific service
|
||||
6. You know that project urls are available inside the container and on your host
|
||||
|
@ -141,13 +141,13 @@ You first need to find out the image name and then also the currently used image
|
||||
host> grep 'image:' docker-compose.yml
|
||||
|
||||
image: cytopia/bind:0.11
|
||||
image: devilbox/php-fpm:${PHP_SERVER:-7.0}-work
|
||||
image: devilbox/${HTTPD_SERVER:-nginx-stable}:0.13
|
||||
image: cytopia/${MYSQL_SERVER:-mariadb-10.1}:latest
|
||||
image: postgres:${PGSQL_SERVER:-9.6}
|
||||
image: redis:${REDIS_SERVER:-3.2}
|
||||
image: memcached:${MEMCD_SERVER:-latest}
|
||||
image: mongo:${MONGO_SERVER:-latest}
|
||||
image: devilbox/php-fpm:${PHP_SERVER}-work
|
||||
image: devilbox/${HTTPD_SERVER}:0.13
|
||||
image: devilbox/mysql-${MYSQL_SERVER}
|
||||
image: postgres:${PGSQL_SERVER}
|
||||
image: redis:${REDIS_SERVER}
|
||||
image: memcached:${MEMCD_SERVER}
|
||||
image: mongo:${MONGO_SERVER}
|
||||
|
||||
After having found the possible candidates, you will still have to find the corresponding value
|
||||
inside the ``..env`` file. Let's do it for the PHP image:
|
||||
@ -156,14 +156,14 @@ inside the ``..env`` file. Let's do it for the PHP image:
|
||||
|
||||
host> grep '^PHP_SERVER' .env
|
||||
|
||||
PHP_SERVER=5.6
|
||||
PHP_SERVER=7.2
|
||||
|
||||
So now you can substitute the ``${PHP_SERVER}`` variable from the first command with ``5.6`` and
|
||||
So now you can substitute the ``${PHP_SERVER}`` variable from the first command with ``7.2`` and
|
||||
finally pull a newer version:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
host> docker pull devilbox/php-fpm:5.6-work
|
||||
host> docker pull devilbox/php-fpm:7.2-work
|
||||
|
||||
Not very efficient.
|
||||
|
||||
|
@ -18,25 +18,7 @@ Core container
|
||||
|
||||
These container are well integrated into the Devilbox intranet and are considered core container:
|
||||
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Container | Name | Hostname | IP Address |
|
||||
+===========================+=======+==========+================+
|
||||
| DNS | bind | bind | 172.16.238.100 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| PHP | php | php | 172.16.238.10 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Apache, Nginx | httpd | httpd | 172.16.238.11 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| MySQL, MariaDB, PerconaDB | mysql | mysql | 172.16.238.12 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| PostgreSQL | pgsql | pgsql | 172.16.238.13 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Redis | redis | redis | 172.16.238.14 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| Memcached | memcd | memcd | 172.16.238.15 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
| MongoDB | mongo | mongo | 172.16.238.16 |
|
||||
+---------------------------+-------+----------+----------------+
|
||||
.. include:: /_includes/snippets/core-container.rst
|
||||
|
||||
|
||||
Additional container
|
||||
|
@ -91,6 +91,8 @@ The PHP container is your workhorse and these are your tools:
|
||||
+----------------------+---------------------------------------+
|
||||
| ``tig`` | |ext_lnk_tool_tig| |
|
||||
+----------------------+---------------------------------------+
|
||||
| ``vue`` | |ext_lnk_tool_vue| |
|
||||
+----------------------+---------------------------------------+
|
||||
| ``webpack`` | |ext_lnk_tool_webpack| |
|
||||
+----------------------+---------------------------------------+
|
||||
| ``wp`` | |ext_lnk_tool_wp| |
|
||||
|
@ -46,6 +46,8 @@ The following shows a list of blogs that give a nice and objective introduction
|
||||
+---------------------------------+----------+
|
||||
| |ext_lnk_blog_moritzkanzler| | German |
|
||||
+---------------------------------+----------+
|
||||
| |ext_lnk_blog_openstream| | English |
|
||||
+---------------------------------+----------+
|
||||
|
||||
|
||||
Use-cases
|
||||
|
@ -110,6 +110,27 @@ A few general things you should always do before attempting to open up issues ar
|
||||
that are shared by Docker. If not add those in the Docker settings.
|
||||
|
||||
|
||||
No Space left on Device
|
||||
-----------------------
|
||||
|
||||
If on Docker for Mac you get an error during docker pull similar to the following one:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
write /var/lib/docker/tmp/GetImageBlob220119603: no space left on device
|
||||
|
||||
It means the file where MacOS stores the docker images is full. The usual way is to delete
|
||||
unused images and volumes to free up space or increase this volumes size.
|
||||
|
||||
However, depending on the version of Docker some of the above suggestions may not work and you
|
||||
have to get support from the docker/for-mac GitHub repository or forum.
|
||||
|
||||
.. seealso::
|
||||
* https://github.com/cytopia/devilbox/issues/539
|
||||
* https://github.com/docker/for-mac/issues/371#issuecomment-242047368
|
||||
* https://forums.docker.com/t/no-space-left-on-device-error/10894
|
||||
|
||||
|
||||
Address already in use
|
||||
----------------------
|
||||
|
||||
@ -287,6 +308,22 @@ To mitigate that issue, make sure that the ``swoole`` module is disabled in ``.e
|
||||
Database issues
|
||||
===============
|
||||
|
||||
SQLSTATE[HY000] [1130] Host '172.16.238.10' is not allowed to connect to this MariaDB server
|
||||
--------------------------------------------------------------------------------------------
|
||||
|
||||
.. seealso:: :ref:`troubleshooting_cant_connect_to_mysql_adter_restart`
|
||||
|
||||
.. _troubleshooting_cant_connect_to_mysql_adter_restart:
|
||||
|
||||
Cannot connect to MySQL after restart
|
||||
-------------------------------------
|
||||
|
||||
This error usually occurs when you import a MySQL dump including the mysql database itself, which
|
||||
will overwrite the user permissions and thus you won't be able to connect anymore with the settings
|
||||
specified in ``.env``.
|
||||
|
||||
.. seealso:: https://github.com/cytopia/devilbox/issues/542
|
||||
|
||||
Invalid bind mount spec
|
||||
-----------------------
|
||||
|
||||
|
76
env-example
76
env-example
@ -134,9 +134,9 @@ NEW_GID=1000
|
||||
|
||||
|
||||
###
|
||||
### Timezone for all dockers and service config files
|
||||
### Timezone for PHP Docker container (system and php.ini)
|
||||
###
|
||||
TIMEZONE=Europe/Berlin
|
||||
TIMEZONE=UTC
|
||||
|
||||
|
||||
|
||||
@ -288,9 +288,11 @@ HTTPD_SERVER=nginx-stable
|
||||
#MYSQL_SERVER=mariadb-10.1
|
||||
#MYSQL_SERVER=mariadb-10.2
|
||||
MYSQL_SERVER=mariadb-10.3
|
||||
#MYSQL_SERVER=mariadb-10.4
|
||||
#MYSQL_SERVER=percona-5.5
|
||||
#MYSQL_SERVER=percona-5.6
|
||||
#MYSQL_SERVER=percona-5.7
|
||||
#MYSQL_SERVER=percona-8.0
|
||||
|
||||
|
||||
###
|
||||
@ -416,70 +418,6 @@ MOUNT_OPTIONS=
|
||||
HOST_PATH_HTTPD_DATADIR=./data/www
|
||||
|
||||
|
||||
###
|
||||
### Local filesystem path to mysql/mariadb datadir.
|
||||
###
|
||||
### This can be an existing mysql data directory or empty.
|
||||
### If it already is a mysql data directory with content,
|
||||
### it will be mounted into the docker and used.
|
||||
###
|
||||
### If this directory is empty, a new mysql database will be
|
||||
### created.
|
||||
###
|
||||
### Note: Inside this path, a subdirectory with the mysql|mariadb
|
||||
### version will be created where the actual data resides.
|
||||
### This is to protect databases from being altered by
|
||||
### newer or older mysql|mariadb server versions.
|
||||
###
|
||||
### Note: When changing this variable you must re-create the container.
|
||||
### Simply remove it, it will be auto-created during the next start:
|
||||
###
|
||||
### $ docker-compose rm -f
|
||||
###
|
||||
HOST_PATH_MYSQL_DATADIR=./data/mysql
|
||||
|
||||
|
||||
###
|
||||
### Local filesystem path to postgresql datadir.
|
||||
###
|
||||
### This can be an existing postgresql data directory or empty.
|
||||
### If it already is a postgresql data directory with content,
|
||||
### it will be mounted into the docker and used.
|
||||
###
|
||||
### If this directory is empty, a new postgresql database will be
|
||||
### created.
|
||||
###
|
||||
### Note: Inside this path, a subdirectory with the postgresql
|
||||
### version will be created where the actual data resides.
|
||||
### This is to protect databases from being altered by
|
||||
### newer or older postgres server versions.
|
||||
###
|
||||
### Note: When changing this variable you must re-create the container.
|
||||
### Simply remove it, it will be auto-created during the next start:
|
||||
###
|
||||
### $ docker-compose rm -f
|
||||
###
|
||||
HOST_PATH_PGSQL_DATADIR=./data/pgsql
|
||||
|
||||
|
||||
###
|
||||
### Local filesystem path to mongodb datadir.
|
||||
###
|
||||
### This can be an existing mongodb data directory or empty.
|
||||
### If it already is a mongodb data directory with content,
|
||||
### it will be mounted into the docker and used.
|
||||
###
|
||||
### If this directory is empty, a new mongodb database will be
|
||||
### created.
|
||||
###
|
||||
### Note: When changing this variable you must re-create the container.
|
||||
### Simply remove it, it will be auto-created during the next start:
|
||||
###
|
||||
### $ docker-compose rm -f
|
||||
###
|
||||
HOST_PATH_MONGO_DATADIR=./data/mongo
|
||||
|
||||
|
||||
|
||||
################################################################################
|
||||
###
|
||||
@ -592,12 +530,6 @@ HTTPD_NGINX_WORKER_CONNECTIONS=1024
|
||||
MYSQL_ROOT_PASSWORD=
|
||||
|
||||
|
||||
###
|
||||
### Custom MySQL Runtime Settings
|
||||
###
|
||||
MYSQL_GENERAL_LOG=0
|
||||
|
||||
|
||||
###
|
||||
### Expose MySQL Port to Host
|
||||
###
|
||||
|
@ -70,10 +70,9 @@ fi
|
||||
### MYSQL
|
||||
###
|
||||
if [ "${WHICH}" = "all" ] || [ "${WHICH}" = "mysql" ]; then
|
||||
SUFFIX="$( grep -E '^\s+image:\s+cytopia/\${MYSQL_SERVER' "${CWD}/docker-compose.yml" | sed 's/.*://g' )"
|
||||
IMAGES="$( grep -Eo '^#*MYSQL_SERVER=[-a-z]+[.0-9]*' "${CWD}/env-example" | sed 's/.*=//g' )"
|
||||
echo "${IMAGES}" | while read version ; do
|
||||
docker pull cytopia/${version}:${SUFFIX}
|
||||
docker pull devilbox/mysql:${version}
|
||||
done
|
||||
fi
|
||||
|
||||
|
Reference in New Issue
Block a user