#165 -- Docker backup and restore script for volumes.

This commit is contained in:
Buster Silver 2017-06-18 20:18:19 -05:00
parent b1485b1e3c
commit b3a071b6c9
6 changed files with 42 additions and 4 deletions

5
.gitignore vendored
View File

@ -29,4 +29,7 @@ app/.env
/ansible/
/util/ansible/deploy.retry
/util/ansible/update.retry
tests/_output/*
tests/_output/*
# Docker backup files
/backup.tar.gz

View File

@ -35,7 +35,6 @@ services:
restart: always
web:
container_name: azuracast_web
image: azuracast/azuracast_web:latest
depends_on:
- mariadb

14
docker_backup.sh Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
docker-compose down
# Back up stations
rm -f backup.tar.gz
docker run --rm -v $(pwd):/backup \
-v azuracast_db_data:/azuracast/db \
-v azuracast_influx_data:/azuracast/influx \
-v azuracast_station_data:/azuracast/stations \
busybox tar zcvf /backup/backup.tar.gz /azuracast
docker-compose up -d

16
docker_restore.sh Normal file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
docker-compose down
docker volume rm azuracast_db_data azuracast_influx_data azuracast_station_data
docker volume create azuracast_db_data
docker volume create azuracast_influx_data
docker volume create azuracast_station_data
docker run --rm -v $(pwd):/backup \
-v azuracast_db_data:/azuracast/db \
-v azuracast_influx_data:/azuracast/influx \
-v azuracast_station_data:/azuracast/stations \
busybox tar zxvf /backup/backup.tar.gz
docker-compose up -d

View File

@ -31,5 +31,5 @@
- name: Clear AzuraCast Cache and Restart Stations
become: true
become_user: azuracast
shell: php {{ util_base }}/cli.php cache:clear && php {{ util_base }}/cli.php radio:restart
shell: php {{ util_base }}/cli.php cache:clear && php {{ util_base }}/cli.php azuracast:radio:restart
when: fixture_zip_files.matched > 0 or fixture_sql_files.matched > 0

View File

@ -36,4 +36,10 @@
database: "stations"
retentions: "1h:1h,1d:1d"
measurements: [{'measurement':':MEASUREMENT', 'fields': ['min(value) AS min','mean(value) AS value','max(value) AS max']}]
prune: true
prune: true
- name: Wait for MySQL to spin up
wait_for:
host: "mariadb"
port: 3306
delay: 5