@@ -63,8 +63,6 @@ services:
6363 NGINX_HOST : ${DOMAIN_NAME}
6464 NGINX_PORT : 80
6565 TZ : ' ${LOCAL_TIMEZONE}'
66- labels :
67- - " docker-volume-backup.stop-during-backup=true"
6866 command : bash -c "/docker-entrypoint.sh nginx -v; sh /tmp/ssl-conf.sh '${DOMAIN_NAME}' '${LETSENCRYPT_CONF_PREFIX}' '${NGINX_PREFIX}'"
6967
7068 certbot :
@@ -117,15 +115,13 @@ services:
117115 # - database
118116 environment :
119117 # PMA_HOST: database
120- PMA_PMADB : phpmyadmin
118+ PMA_PMADB : ' phpmyadmin'
121119 PMA_CONTROLUSER : ' ${PMA_CONTROLUSER}'
122120 PMA_CONTROLPASS : ' ${PMA_CONTROLPASS}'
123121 MYSQL_ROOT_PASSWORD : ' ${MYSQL_ROOT_PASSWORD}'
124122 UPLOAD_LIMIT : ' ${PMA_UPLOAD_LIMIT}'
125123 MEMORY_LIMIT : ' ${PMA_MEMORY_LIMIT}'
126124 TZ : ' ${LOCAL_TIMEZONE}'
127- labels :
128- - " docker-volume-backup.stop-during-backup=true"
129125 command : >
130126 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
131127 && printf 'AuthType Digest\\nAuthName \"phpmyadmin\"\\nAuthDigestProvider file\\nAuthUserFile ${PMA_CONF_FOLDER}/.htpasswd\\nRequire valid-user\\n' > ${WEBSERVER_DOC_ROOT}/.htaccess && a2enmod auth_digest;
@@ -140,6 +136,7 @@ services:
140136 - backend
141137 volumes :
142138 - ' db:/var/lib/mysql'
139+ - ' db-backup-data:/tmp/backup'
143140 - type : bind
144141 source : ./database/conf.d/z-mysql.cnf
145142 target : ' ${MYSQL_CONF_PREFIX}/z-mysql.cnf'
@@ -157,6 +154,8 @@ services:
157154 TZ : ' ${LOCAL_TIMEZONE}'
158155 labels :
159156 - " docker-volume-backup.stop-during-backup=true"
157+ - " docker-volume-backup.archive-pre=/bin/sh -c 'mysqldump -uroot -p${MYSQL_ROOT_PASSWORD} --all-databases > /tmp/backup/db_backup_data.sql'"
158+ - " docker-volume-backup.exec-label=database"
160159 command : " --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password"
161160
162161 redis :
@@ -178,29 +177,29 @@ services:
178177 environment :
179178 ALLOW_EMPTY_PASSWORD : ' yes'
180179 TZ : ' ${LOCAL_TIMEZONE}'
181- labels :
182- - " docker-volume-backup.stop-during-backup=true"
183180 command : " redis-server ${REDIS_CONF_PREFIX}/redis/redis.conf"
184181
185182 backup :
186- image : ' futurice /docker-volume-backup'
183+ image : offen /docker-volume-backup:latest
187184 container_name : backup
188185 networks :
189186 - backend
190187 volumes :
191- - ' /var/run/docker.sock:/var/run/docker.sock:ro'
192188 - ' app:/backup/app:ro'
193189 - ' db:/backup/db:ro'
190+ - ' db-backup-data:/backup/db-backup-data:ro'
191+ - ' /var/run/docker.sock:/var/run/docker.sock:ro'
194192 - type : bind
195193 source : ./backups
196194 target : /archive
197195 hostname : backup
198196 restart : unless-stopped
199197 environment :
200- BACKUP_WAIT_SECONDS : 120
201198 BACKUP_CRON_EXPRESSION : ' 20 01 * * *'
202199 BACKUP_FILENAME : ' backup-%Y-%m-%dT%H-%M-%S.tar.gz'
203- TZ : ' ${LOCAL_TIMEZONE}'
200+ BACKUP_RETENTION_DAYS : ' 7'
201+ EXEC_LABEL : ' database'
202+ BACKUP_EXCLUDE_REGEXP : ' app|bin|test|tmp|log|\\.log$$'
204203
205204networks :
206205 backend : null
@@ -216,6 +215,8 @@ volumes:
216215 o : bind
217216 db :
218217 name : ${DATABASE_CONT_NAME}-data
218+ db-backup-data :
219+ name : ${DATABASE_CONT_NAME}-backup-data
219220 dtredis :
220221 name : redis-data
221222 certbot-etc :
0 commit comments