@@ -35,7 +35,7 @@ services:
3535 labels :
3636 - ' docker-volume-backup.stop-during-backup=true'
3737 command : >
38- 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 drush/drush; composer require 'drupal/purge:^3.4' && composer require 'drupal/purge_purger_http:^1.0';
38+ 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 drush/drush; composer require 'drupal/purge:^3.4' && composer require 'drupal/purge_purger_http:^1.0';
3939 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 &&
4040 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;
4141 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'"
@@ -60,8 +60,6 @@ services:
6060 - drupal
6161 environment :
6262 TZ : ' ${LOCAL_TIMEZONE}'
63- labels :
64- - " docker-volume-backup.stop-during-backup=true"
6563
6664 certbot :
6765 depends_on :
@@ -111,9 +109,7 @@ services:
111109 environment :
112110 NGINX_HOST : ${DOMAIN_NAME}
113111 NGINX_PORT : 80
114- TZ : ' ${LOCAL_TIMEZONE}'
115- labels :
116- - " docker-volume-backup.stop-during-backup=true"
112+ TZ : ' ${LOCAL_TIMEZONE}'
117113 command : bash -c "/docker-entrypoint.sh nginx -v; sh /tmp/ssl-proxyconf.sh '${DOMAIN_NAME}' '${LETSENCRYPT_CONF_PREFIX}' '${PROXY_PREFIX}'"
118114
119115 phpmyadmin :
@@ -156,8 +152,6 @@ services:
156152 UPLOAD_LIMIT : ' ${PMA_UPLOAD_LIMIT}'
157153 MEMORY_LIMIT : ' ${PMA_MEMORY_LIMIT}'
158154 TZ : ' ${LOCAL_TIMEZONE}'
159- labels :
160- - " docker-volume-backup.stop-during-backup=true"
161155 command : >
162156 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
163157 && printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
@@ -172,6 +166,7 @@ services:
172166 - backend
173167 volumes :
174168 - ' db:/var/lib/mysql'
169+ - ' db-backup-data:/tmp/backup'
175170 - type : bind
176171 source : ./database/conf.d/z-mysql.cnf
177172 target : ' ${MYSQL_CONF_PREFIX}/z-mysql.cnf'
@@ -189,6 +184,8 @@ services:
189184 TZ : ' ${LOCAL_TIMEZONE}'
190185 labels :
191186 - " docker-volume-backup.stop-during-backup=true"
187+ - " docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -uroot -p${MYSQL_ROOT_PASSWORD} --all-databases > /tmp/backup/db_backup_data.sql'"
188+ - " docker-volume-backup.exec-label=database"
192189 command : " --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password"
193190
194191 redis :
@@ -210,29 +207,29 @@ services:
210207 environment :
211208 ALLOW_EMPTY_PASSWORD : ' yes'
212209 TZ : ' ${LOCAL_TIMEZONE}'
213- labels :
214- - " docker-volume-backup.stop-during-backup=true"
215210 command : " redis-server ${REDIS_CONF_PREFIX}/redis/redis.conf"
216211
217212 backup :
218- image : ' futurice /docker-volume-backup'
213+ image : offen /docker-volume-backup:latest
219214 container_name : backup
220215 networks :
221216 - backend
222217 volumes :
223- - ' /var/run/docker.sock:/var/run/docker.sock:ro'
224218 - ' html:/backup/html:ro'
225219 - ' db:/backup/db:ro'
220+ - ' db-backup-data:/backup/db-backup-data:ro'
221+ - ' /var/run/docker.sock:/var/run/docker.sock:ro'
226222 - type : bind
227223 source : ./backups
228224 target : /archive
229225 hostname : backup
230226 restart : unless-stopped
231227 environment :
232- BACKUP_WAIT_SECONDS : 120
233228 BACKUP_CRON_EXPRESSION : ' 20 01 * * *'
234229 BACKUP_FILENAME : ' backup-%Y-%m-%dT%H-%M-%S.tar.gz'
235- TZ : ' ${LOCAL_TIMEZONE}'
230+ BACKUP_RETENTION_DAYS : ' 7'
231+ EXEC_LABEL : ' database'
232+ # BACKUP_EXCLUDE_REGEXP: 'folder|folder|file|\\.log$$'
236233
237234networks :
238235 backend : null
@@ -248,6 +245,8 @@ volumes:
248245 o : bind
249246 db :
250247 name : ${DATABASE_CONT_NAME}-data
248+ db-backup-data :
249+ name : ${DATABASE_CONT_NAME}-backup-data
251250 dtredis :
252251 name : redis-data
253252 certbot-etc :
0 commit comments