@@ -58,8 +58,6 @@ services:
5858 - rails
5959 environment :
6060 TZ : ' ${LOCAL_TIMEZONE}'
61- labels :
62- - " docker-volume-backup.stop-during-backup=true"
6361 command : bash -c "sh /tmp/ssl-conf.sh '${DOMAIN_NAME}' '${LETSENCRYPT_CONF_PREFIX}' '${HTTPD_PREFIX}/conf'"
6462
6563 certbot :
@@ -112,15 +110,13 @@ services:
112110 # - database
113111 environment :
114112 # PMA_HOST: database
115- PMA_PMADB : phpmyadmin
113+ PMA_PMADB : ' phpmyadmin'
116114 PMA_CONTROLUSER : ' ${PMA_CONTROLUSER}'
117115 PMA_CONTROLPASS : ' ${PMA_CONTROLPASS}'
118116 MYSQL_ROOT_PASSWORD : ' ${MYSQL_ROOT_PASSWORD}'
119117 UPLOAD_LIMIT : ' ${PMA_UPLOAD_LIMIT}'
120118 MEMORY_LIMIT : ' ${PMA_MEMORY_LIMIT}'
121119 TZ : ' ${LOCAL_TIMEZONE}'
122- labels :
123- - " docker-volume-backup.stop-during-backup=true"
124120 command : >
125121 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
126122 && printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
@@ -135,6 +131,7 @@ services:
135131 - backend
136132 volumes :
137133 - ' db:/var/lib/mysql'
134+ - ' db-backup-data:/tmp/backup'
138135 - type : bind
139136 source : ./database/conf.d/z-mysql.cnf
140137 target : ' ${MYSQL_CONF_PREFIX}/z-mysql.cnf'
@@ -152,6 +149,8 @@ services:
152149 TZ : ' ${LOCAL_TIMEZONE}'
153150 labels :
154151 - " docker-volume-backup.stop-during-backup=true"
152+ - " docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -uroot -p${MYSQL_ROOT_PASSWORD} --all-databases > /tmp/backup/db_backup_data.sql'"
153+ - " docker-volume-backup.exec-label=database"
155154 command : " --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password"
156155
157156 redis :
@@ -173,29 +172,29 @@ services:
173172 environment :
174173 ALLOW_EMPTY_PASSWORD : ' yes'
175174 TZ : ' ${LOCAL_TIMEZONE}'
176- labels :
177- - " docker-volume-backup.stop-during-backup=true"
178175 command : " redis-server ${REDIS_CONF_PREFIX}/redis/redis.conf"
179176
180177 backup :
181- image : ' futurice /docker-volume-backup'
178+ image : offen /docker-volume-backup:latest
182179 container_name : backup
183180 networks :
184181 - backend
185182 volumes :
186- - ' /var/run/docker.sock:/var/run/docker.sock:ro'
187- - ' app:/backup/app:ro'
183+ - ' html:/backup/html:ro'
188184 - ' db:/backup/db:ro'
185+ - ' db-backup-data:/backup/db-backup-data:ro'
186+ - ' /var/run/docker.sock:/var/run/docker.sock:ro'
189187 - type : bind
190188 source : ./backups
191189 target : /archive
192190 hostname : backup
193191 restart : unless-stopped
194192 environment :
195- BACKUP_WAIT_SECONDS : 120
196193 BACKUP_CRON_EXPRESSION : ' 20 01 * * *'
197194 BACKUP_FILENAME : ' backup-%Y-%m-%dT%H-%M-%S.tar.gz'
198- TZ : ' ${LOCAL_TIMEZONE}'
195+ BACKUP_RETENTION_DAYS : ' 7'
196+ EXEC_LABEL : ' database'
197+ BACKUP_EXCLUDE_REGEXP : ' folder|folder|file|\\.log$$'
199198
200199networks :
201200 backend : null
@@ -211,6 +210,8 @@ volumes:
211210 o : bind
212211 db :
213212 name : ${DATABASE_CONT_NAME}-data
213+ db-backup-data :
214+ name : ${DATABASE_CONT_NAME}-backup-data
214215 dtredis :
215216 name : redis-data
216217 certbot-etc :
0 commit comments