8000 FIX: backup/restore multi-apps compatible · docker-web/docker-web@e07385d · GitHub
[go: up one dir, main page]

Skip to content

Commit e07385d

Browse files
author
valere
committed
FIX: backup/restore multi-apps compatible
1 parent 8a1e002 commit e07385d

10 files changed

+81
-50
lines changed

apps/joal/config/config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"minUploadRate" : 300,
3-
"maxUploadRate" : 1600,
2+
"minUploadRate" : 245,
3+
"maxUploadRate" : 460,
44
"simultaneousSeed" : 20,
55
"client" : "deluge-1.3.13.client",
66
"keepTorrentWithZeroLeechers" : true,
27.7 KB
Binary file not shown.

apps/proxy/docker-compose.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ services:
1313
- vhost:/etc/nginx/vhost.d
1414
- html:/usr/share/nginx/html
1515
- /var/run/docker.sock:/tmp/docker.sock:ro
16+
- /home/valere/docker-web/apps/proxy/redirection.conf:/etc/nginx/conf.d/redirection.conf
17+
- /home/valere/docker-web/apps/transmission/nginx.conf:/etc/nginx/vhost.d/transmission.domain.local_location
18+
- /home/valere/docker-web/apps/nextcloud/nginx.conf:/etc/nginx/vhost.d/cloud.domain.local_location
19+
- /home/valere/docker-web/apps/gitea/nginx.conf:/etc/nginx/vhost.d/git.domain.local_location
20+
- /home/valere/docker-web/apps/drone/nginx.conf:/etc/nginx/vhost.d/drone.domain.local_location
1621
environment:
1722
HTTP_PORT: "${PORT}"
1823
HTTPS_PORT: "${PORT_HTTPS}"
@@ -35,6 +40,11 @@ services:
3540
- html:/usr/share/nginx/html
3641
- acme:/etc/acme.sh
3742
- /var/run/docker.sock:/var/run/docker.sock:ro
43+
- /home/valere/docker-web/apps/proxy/redirection.conf:/etc/nginx/conf.d/redirection.conf
44+
- /home/valere/docker-web/apps/transmission/nginx.conf:/etc/nginx/vhost.d/transmission.domain.local_location
45+
- /home/valere/docker-web/apps/nextcloud/nginx.conf:/etc/nginx/vhost.d/cloud.domain.local_location
46+
- /home/valere/docker-web/apps/gitea/nginx.conf:/etc/nginx/vhost.d/git.domain.local_location
47+
- /home/valere/docker-web/apps/drone/nginx.conf:/etc/nginx/vhost.d/drone.domain.local_location
3848
environment:
3949
NGINX_PROXY_CONTAINER: "proxy"
4050
DEFAULT_EMAIL: "${EMAIL}"

src/apps/backup.sh

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,36 @@
11
BACKUP() {
2-
BACKUP_OR_RESTORE $1 "backup"
2+
local PATH_BACKUP_APP=$PATH_DOCKERWEB_BACKUP/$1
3+
mkdir -p $PATH_BACKUP_APP
4+
5+
# test
6+
# if app exist
7+
APP_STATE=$(GET_STATE $1)
8+
if [ -n "$APP_STATE" ]
9+
then
10+
echo "[*] backup $1"
11+
cd $PATH_DOCKERWEB_APPS/$1 && tar czf $PATH_BACKUP_APP/app.tar.gz *
12+
13+
# 0. up and down
14+
[[ -z $(GET_STATE $1) ]] && EXECUTE "up -d" $1
15+
EXECUTE "pause" $1
16+
# 1. volume
17+
for VOLUME in $(EXECUTE "config --volumes" $1)
18+
do
19+
local VOLUME=($(docker volume inspect --format "{{.Name}} {{.Mountpoint}}" "$1_$VOLUME" 2> /dev/null))
20+
local NAME_VOLUME=${VOLUME[0]}
21+
if [[ -n $NAME_VOLUME ]]
22+
then
23+
docker run --rm -v $NAME_VOLUME:/$NAME_VOLUME -v $PATH_BACKUP_APP:/backup busybox tar czf /backup/$NAME_VOLUME.tar.gz /$NAME_VOLUME 2> /dev/null
24+
fi
25+
done
26+
# 2. tar & upload
27+
cd $PATH_BACKUP_APP && tar czf $PATH_DOCKERWEB_BACKUP/$1.tar.gz *
28+
[[ ! -z $STORJ_BUCKET_NAME ]] && uplink cp --progress $PATH_DOCKERWEB_BACKUP/$1.tar.gz sj://$STORJ_BUCKET_NAME
29+
30+
# 3. drop backup if storj is configured
31+
[[ ! -z $STORJ_BUCKET_NAME ]] && rm -rf $PATH_DOCKERWEB_BACKUP/$1.tar.gz*
32+
EXECUTE "unpause" $1
33+
rm -rf $PATH_BACKUP_APP
34+
echo "[√] backup $1 done"
35+
fi
336
}

src/apps/restore.sh

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,35 @@
11
RESTORE() {
2-
BACKUP_OR_RESTORE $1 "restore"
2+
# test
3+
# restore if backup exist
4+
if [ -f "$PATH_DOCKERWEB_BACKUP/$1.tar.gz" ]
5+
then
6+
local PATH_BACKUP_APP=$PATH_DOCKERWEB_BACKUP/$1
7+
mkdir -p $PATH_BACKUP_APP
8+
echo "[*] restore $1"
9+
# 0. download & untar
10+
[[ ! -z $STORJ_BUCKET_NAME ]] && uplink cp --progress -r sj://$STORJ_BUCKET_NAME/$1.tar.gz $PATH_DOCKERWEB_BACKUP
11+
tar xf $PATH_DOCKERWEB_BACKUP/$1.tar.gz -C $PATH_BACKUP_APP
12+
13+
# 1. app
14+
[[ -f "$PATH_BACKUP_APP/app.tar.gz" ]] && rm -rf $PATH_BACKUP_APP/$1/* && tar xf $PATH_BACKUP_APP/app.tar.gz -C $PATH_DOCKERWEB_APPS/$1
15+
16+
# 2. up and down
17+
[[ -z $(GET_STATE $1) ]] && EXECUTE "up -d" $1
18+
EXECUTE "stop" $1
19+
# 3. volume
20+
for VOLUME in $(EXECUTE "config --volumes" $1)
21+
do
22+
local VOLUME=($(docker volume inspect --format "{{.Name}} {{.Mountpoint}}" "$1_$VOLUME" 2> /dev/null))
23+
local NAME_VOLUME=${VOLUME[0]}
24+
if [[ -n $NAME_VOLUME ]]
25+
then
26+
docker run --rm -v $NAME_VOLUME:/$NAME_VOLUME -v $PATH_BACKUP_APP:/backup busybox sh -c "cd /$NAME_VOLUME && tar xf /backup/$NAME_VOLUME.tar.gz --strip 1"
27+
fi
28+
done
29+
30+
# 4. drop backup if storj is configured
31+
EXECUTE "start" $1
32+
rm -rf $PATH_BACKUP_APP
33+
echo "[√] $1 restore done"
34+
fi
335
}

src/env.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export DOCKERWEB_VERSION="24.7.3"
1+
export DOCKERWEB_VERSION="24.8.1"
22
export GITHUB_DOCKERWEB="https://github.com/docker-web/docker-web"
33
export PATH_DOCKERWEB=~/docker-web
44
export PATH_DOCKERWEB_APPS=$PATH_DOCKERWEB/apps

src/helpers/backup_or_restore.sh

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/helpers/update_dashboard.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
UPDATE_DASHBOARD() {
2-
[[ $1 != "dashboard" && -n $(GET_STATE "dashboard") ]] && source "$PATH_DOCKERWEB_APPS/dashboard/config.sh" && bash "$PATH_DOCKERWEB_APPS/dashboard/$FILENAME_POST_INSTALL"
2+
[[ $1 != "dashboard" && ! -n "$(GET_STATE "dashboard")" ]] && source "$PATH_DOCKERWEB_APPS/dashboard/config.sh" && bash "$PATH_DOCKERWEB_APPS/dashboard/$FILENAME_POST_INSTALL"
33
}

0 commit comments

Comments
 (0)
0