@@ -32,14 +32,17 @@ services:
32
32
retries : 5
33
33
start_period : 60s
34
34
environment :
35
+ DB_USER : ' ${DB_USER}'
36
+ DB_PASSWORD : ' ${DB_PASSWORD}'
37
+ DB_NAME : ' ${DB_NAME}'
35
38
TZ : ' ${LOCAL_TIMEZONE}'
36
39
labels :
37
40
- ' docker-volume-backup.stop-during-backup=true'
38
41
command : >
39
- bash -c "apt-get -y update && apt-get install -y zip unzip libicu-dev && docker-php-ext-install intl && if pecl install -p -- redis; then pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis; fi; curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer &&
42
+ bash -c "apt-get -y update && apt-get install -y zip unzip libicu-dev gettext-base && docker-php-ext-install intl && if pecl install -p -- redis; then pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis; fi; curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer &&
40
43
if [ -f \"${WEBSERVER_DOC_ROOT}/web.php\" ]; then composer update --prefer-dist yiisoft/yii2-app-basic --working-dir=/app/basic; else composer create-project --prefer-dist yiisoft/yii2-app-basic basic; fi &&
41
- composer require --prefer-dist "yiisoft/yii2-redis":~2.0.0 --working-dir=/app/basic; cp -R /app/basic/web/css ${WEBSERVER_DOC_ROOT}/; sed \"s/DB_USER/$ {DB_USER}/;s/DB_PASSWORD/$ {DB_PASSWORD}/;s/DB_NAME/$ {DB_NAME}/\" ${WEBSERVER_DOC_ROOT}/db.php_orj > ${WEBSERVER_DOC_ROOT}/db.php &&
42
- sed \"/^[[:space:]]\\+.cookieValidationKey/s/''/'$$ (tr -dc '[:alnum:]' </dev/urandom | head -c 32)'/\" ${WEBSERVER_DOC_ROOT}/web.php_orj > ${WEBSERVER_DOC_ROOT}/web.php;
44
+ composer require --prefer-dist "yiisoft/yii2-redis":~2.0.0 --working-dir=/app/basic; cp -R /app/basic/web/css ${WEBSERVER_DOC_ROOT}/; envsubst '$$ {DB_USER},$$ {DB_PASSWORD},$$ {DB_NAME}' < ${WEBSERVER_DOC_ROOT}/db.php.template > ${WEBSERVER_DOC_ROOT}/db.php &&
45
+ export RANDOM_VALUE=$ (tr -dc '[:alnum:]' </dev/urandom | head -c 32) && envsubst '$$RANDOM_VALUE' < ${WEBSERVER_DOC_ROOT}/web.php.template > ${WEBSERVER_DOC_ROOT}/web.php &&
43
46
mkdir -p ${WEBSERVER_DOC_ROOT}/assets && chmod -R 777 ${WEBSERVER_DOC_ROOT}/assets; grep -qe 'date.timezone = ${LOCAL_TIMEZONE}' ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini || echo 'date.timezone = ${LOCAL_TIMEZONE}' >> ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini; php-fpm"
44
47
45
48
webserver :
@@ -57,11 +60,12 @@ services:
57
60
hostname : webserver
58
61
restart : unless-stopped
59
62
ports :
60
- - ' 8080:8080 '
63
+ - ' 8080:80 '
61
64
links :
62
65
- yii
63
66
environment :
64
67
TZ : ' ${LOCAL_TIMEZONE}'
68
+ command : bash -c "sed -i 's/example.com/${DOMAIN_NAME}/g' ${HTTPD_PREFIX}/conf/extra/httpd-vhosts.conf && httpd -t; httpd-foreground"
65
69
66
70
certbot :
67
71
depends_on :
@@ -123,6 +127,7 @@ services:
123
127
- backend
124
128
- frontend
125
129
volumes :
130
+ - ' phpmyadmin:${WEBSERVER_DOC_ROOT}/sql'
126
131
- type : bind
127
132
source : ./phpmyadmin/apache2/sites-available/default-ssl.conf
128
133
target : ' ${APACHE_CONFDIR_PREFIX}/sites-available/default-ssl.conf'
@@ -143,10 +148,10 @@ services:
143
148
restart : unless-stopped
144
149
ports :
145
150
- ' 9090:443'
146
- # links:
147
- # - database
151
+ links :
152
+ - database
148
153
environment :
149
- # PMA_HOST: database
154
+ PMA_HOST : ' database'
150
155
PMA_PMADB : ' phpmyadmin'
151
156
PMA_CONTROLUSER : ' ${PMA_CONTROLUSER}'
152
157
PMA_CONTROLPASS : ' ${PMA_CONTROLPASS}'
@@ -155,7 +160,7 @@ services:
155
160
MEMORY_LIMIT : ' ${PMA_MEMORY_LIMIT}'
156
161
TZ : ' ${LOCAL_TIMEZONE}'
157
162
command : >
158
- bash -c "echo ${PMA_HTPASSWD_USERNAME}:phpmyadmin:$$( printf \"%s:%s:%s\" \"${PMA_HTPASSWD_USERNAME}\" \"phpmyadmin\" \"${PMA_HTPASSWD_PASSWORD}\" | md5sum | awk '{print $$1}' ) > ${PMA_CONF_FOLDER}/.htpasswd
163
+ bash -c "apt-get -y update && apt-get install -y gettext-base && envsubst < ${WEBSERVER_DOC_ROOT}/sql/create_tables.sql.template > ${WEBSERVER_DOC_ROOT}/sql/create_tables.sql && echo ${PMA_HTPASSWD_USERNAME}:phpmyadmin:$$( printf \"%s:%s:%s\" \"${PMA_HTPASSWD_USERNAME}\" \"phpmyadmin\" \"${PMA_HTPASSWD_PASSWORD}\" | md5sum | awk '{print $$1}' ) > ${PMA_CONF_FOLDER}/.htpasswd
159
164
&& printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
160
165
mkdir -p ${WEBSERVER_DOC_ROOT}/../upload && chown www-data:www-data ${WEBSERVER_DOC_ROOT}/../upload && chmod a+w ${WEBSERVER_DOC_ROOT}/../upload; mkdir -p ${WEBSERVER_DOC_ROOT}/../save && chown www-data:www-data ${WEBSERVER_DOC_ROOT}/../save && chmod a+w ${WEBSERVER_DOC_ROOT}/../save;
161
166
grep -qxF 'ServerName 127.0.0.1' ${APACHE_CONFDIR_PREFIX}/apache2.conf || echo -e '\\nServerName 127.0.0.1' >> ${APACHE_CONFDIR_PREFIX}/apache2.conf; grep -qe 'date.timezone = ${LOCAL_TIMEZONE}' ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini || echo 'date.timezone = ${LOCAL_TIMEZONE}' >> ${PHP_INI_DIR_PREFIX}/php/conf.d/security.ini;
@@ -172,6 +177,7 @@ services:
172
177
- type : bind
173
178
source : ./database/conf.d/z-mysql.cnf
174
179
target : ' ${MYSQL_CONF_PREFIX}/z-mysql.cnf'
180
+ - ' phpmyadmin:/docker-entrypoint-initdb.d'
175
181
hostname : database
176
182
restart : unless-stopped
177
183
ports :
@@ -256,6 +262,13 @@ volumes:
256
262
name : ${DATABASE_CONT_NAME}-data
257
263
db-backup-data :
258
264
name : ${DATABASE_CONT_NAME}-backup-data
265
+ phpmyadmin :
266
+ name : phpmyadmin-sql
267
+ driver : local
268
+ driver_opts :
269
+ type : none
270
+ device : ${DIRECTORY_PATH}/phpmyadmin/sql
271
+ o : bind
259
272
dtredis :
260
273
name : redis-data
261
274
certbot-etc :
0 commit comments