@@ -36,7 +36,7 @@ services:
36
36
labels :
37
37
- ' docker-volume-backup.stop-during-backup=true'
38
38
command : >
39
- bash -c "pecl install -o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis && composer require 'drupal/redis:^1.6'; composer require drush/drush; composer require 'drupal/purge:^3.4' && composer require 'drupal/purge_purger_http:^1.0';
39
+ bash -c "if pecl install -p -- redis; then pecl install - o -f redis && rm -rf /tmp/pear && docker-php-ext-enable redis; fi; composer require 'drupal/redis:^1.6'; composer require drush/drush; composer require 'drupal/purge:^3.4' && composer require 'drupal/purge_purger_http:^1.0';
40
40
if [ ! -f \"${WEBSERVER_DOC_ROOT}/sites/default/settings.php\" ]; then install -m 777 ${WEBSERVER_DOC_ROOT}/sites/default/default.settings.php ${WEBSERVER_DOC_ROOT}/sites/default/settings.php && sed -i 's/#/\\/\\/#/g' ${WEBSERVER_DOC_ROOT}/sites/default/settings.php &&
41
41
echo -e \"\\n\\$$settings['trusted_host_patterns'] = [\\n\\t'^$$(echo \"${DOMAIN_NAME}\" | sed 's/\\./\\\\./g')$$',\\n\\t'^.+\\.$$(echo \"${DOMAIN_NAME}\" | sed 's/\\./\\\\./g')$$',\\n];\" >> ${WEBSERVER_DOC_ROOT}/sites/default/settings.php;
42
42
mkdir -p -m 777 ${WEBSERVER_DOC_ROOT}/sites/default/files; fi; 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; docker-php-entrypoint 'php-fpm'"
@@ -70,15 +70,13 @@ services:
70
70
ports :
71
71
- ' 80:80'
72
72
- ' 443:443'
73
- - ' 81:81 '
73
+ - ' 90:90 '
74
74
links :
75
75
- drupal
76
76
environment :
77
77
NGINX_HOST : ${DOMAIN_NAME}
78
78
NGINX_PORT : 80
79
- TZ : ' ${LOCAL_TIMEZONE}'
80
- labels :
81
- - " docker-volume-backup.stop-during-backup=true"
79
+ TZ : ' ${LOCAL_TIMEZONE}'
82
80
command : bash -c "/docker-entrypoint.sh nginx -v; sh /tmp/ssl-conf.sh '${DOMAIN_NAME}' '${LETSENCRYPT_CONF_PREFIX}' '${NGINX_PREFIX}'"
83
81
84
82
certbot :
@@ -138,8 +136,6 @@ services:
138
136
UPLOAD_LIMIT : ' ${PMA_UPLOAD_LIMIT}'
139
137
MEMORY_LIMIT : ' ${PMA_MEMORY_LIMIT}'
140
138
TZ : ' ${LOCAL_TIMEZONE}'
141
- labels :
142
- - " docker-volume-backup.stop-during-backup=true"
143
139
command : >
144
140
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
145
141
&& printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
@@ -154,6 +150,7 @@ services:
154
150
- backend
155
151
volumes :
156
152
- ' db:/var/lib/mysql'
153
+ - ' db-backup-data:/tmp/backup'
157
154
- type : bind
158
155
source : ./database/conf.d/z-mysql.cnf
159
156
target : ' ${MYSQL_CONF_PREFIX}/z-mysql.cnf'
@@ -171,6 +168,8 @@ services:
171
168
TZ : ' ${LOCAL_TIMEZONE}'
172
169
labels :
173
170
- " docker-volume-backup.stop-during-backup=true"
171
+ - " docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -uroot -p${MYSQL_ROOT_PASSWORD} --all-databases > /tmp/backup/db_backup_data.sql'"
172
+ - " docker-volume-backup.exec-label=database"
174
173
command : " --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password"
175
174
176
175
redis :
@@ -192,8 +191,6 @@ services:
192
191
environment :
193
192
ALLOW_EMPTY_PASSWORD : ' yes'
194
193
TZ : ' ${LOCAL_TIMEZONE}'
195
- labels :
196
- - " docker-volume-backup.stop-during-backup=true"
197
194
command : " redis-server ${REDIS_CONF_PREFIX}/redis/redis.conf"
198
195
199
196
varnish :
@@ -214,29 +211,29 @@ services:
214
211
environment :
215
212
VARNISH_SIZE : ' ${VARNISH_SIZE}'
216
213
TZ : ' ${LOCAL_TIMEZONE}'
217
- labels :
218
- - " docker-volume-backup.stop-during-backup=true"
219
214
command : " -a http=:8080,HTTP -p default_ttl=3600"
220
215
221
216
backup :
222
- image : ' futurice /docker-volume-backup'
217
+ image : offen /docker-volume-backup:latest
223
218
container_name : backup
224
219
networks :
225
220
- backend
226
221
volumes :
227
- - ' /var/run/docker.sock:/var/run/docker.sock:ro'
228
222
- ' html:/backup/html:ro'
229
223
- ' db:/backup/db:ro'
224
+ - ' db-backup-data:/backup/db-backup-data:ro'
225
+ - ' /var/run/docker.sock:/var/run/docker.sock:ro'
230
226
- type : bind
231
227
source : ./backups
232
228
target : /archive
233
229
hostname : backup
234
230
restart : unless-stopped
235
231
environment :
236
- BACKUP_WAIT_SECONDS : 120
237
232
BACKUP_CRON_EXPRESSION : ' 20 01 * * *'
238
233
BACKUP_FILENAME : ' backup-%Y-%m-%dT%H-%M-%S.tar.gz'
239
- TZ : ' ${LOCAL_TIMEZONE}'
234
+ BACKUP_RETENTION_DAYS : ' 7'
235
+ EXEC_LABEL : ' database'
236
+ # BACKUP_EXCLUDE_REGEXP: 'folder|folder|file|\\.log$$'
240
237
241
238
networks :
242
239
backend : null
@@ -252,6 +249,8 @@ volumes:
252
249
o : bind
253
250
db :
254
251
name : ${DATABASE_CONT_NAME}-data
252
+ db-backup-data :
253
+ name : ${DATABASE_CONT_NAME}-backup-data
255
254
dtredis :
256
255
name : redis-data
257
256
certbot-etc :
0 commit comments