Skip to content

Commit 2ac33c0

Browse files
committed
use Restic to do the backup/restore
1 parent b702328 commit 2ac33c0

File tree

11 files changed

+96
-72
lines changed

11 files changed

+96
-72
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
services:
2+
3+
movement-backup-db:
4+
image: restic/restic
5+
container_name: movement-backup-db
6+
environment:
7+
- AWS_REGION=${AWS_REGION}
8+
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
9+
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
10+
- RESTIC_PASSWORD=${RESTIC_PASSWORD}
11+
- RESTIC_HOST=${RESTIC_HOST}
12+
- SYNC_BUCKET=${SYNC_BUCKET}
13+
command: -r s3:s3.${AWS_REGION}.amazonaws.com/${SYNC_BUCKET}/restic_node_backup --host ${RESTIC_HOST} backup .movement/maptos .movement/maptos-storage .movement/movement-da-db .movement/default_signer_address_whitelist
14+
volumes:
15+
- ${DOT_MOVEMENT_PATH}:/.movement

docker/compose/movement-full-node/snapshot/docker-compose.push.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
services:
22

3-
movement-restore-db:
4-
image: ghcr.io/movementlabsxyz/movement-full-node:${CONTAINER_REV}
3+
movement-backup-db:
4+
image: restic/restic
55
container_name: movement-restore-db
66
environment:
7-
- DOT_MOVEMENT_PATH=/.movement
8-
- MOVEMENT_TIMING=info
9-
- SUZUKA_TIMING_LOG=/.movement/movement-timing.log
10-
- RUST_BACKTRACE=1
117
- AWS_REGION=${AWS_REGION}
12-
- AWS_BUCKET_ANONYMOUS_ACCESS=${AWS_BUCKET_ANONYMOUS_ACCESS}
8+
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
9+
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
10+
- RESTIC_PASSWORD=${RESTIC_PASSWORD}
11+
- RESTIC_HOST=${RESTIC_HOST}
1312
- SYNC_BUCKET=${SYNC_BUCKET}
14-
- SYNC_PATTERN=${SYNC_PATTERN}
15-
command: backup restore $SYNC_BUCKET $SYNC_PATTERN
13+
14+
command: -r s3:s3.${AWS_REGION}.amazonaws.com/${SYNC_BUCKET}/restic_node_backup --host ${RESTIC_HOST} restore latest --target . --include /.movement/maptos --include /.movement/maptos-storage --include /.movement/movement-da-db --include /.movement/default_signer_address_whitelist
1615
volumes:
1716
- ${DOT_MOVEMENT_PATH}:/.movement

docker/compose/movement-full-node/snapshot/docker-compose.save_and_push.yml

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

docker/compose/movement-full-node/snapshot/docker-compose.save_db.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ services:
22

33
movement-backup-db:
44
image: ghcr.io/movementlabsxyz/movement-full-node:${CONTAINER_REV}
5-
container_name: movement-backup-db
5+
container_name: movement-save-db
66
environment:
77
- DOT_MOVEMENT_PATH=/.movement
88
- MOVEMENT_TIMING=info
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash -e
2+
3+
export DOT_MOVEMENT_PATH=$HOME/.movement
4+
export AWS_REGION="us-west-2"
5+
export RESTIC_PASSWORD="movebackup"
6+
export RESTIC_HOST="devnet_fullnode"
7+
export SYNC_BUCKET="movement-sync-devnet"
8+
9+
/usr/bin/docker compose -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.backup.yml up --force-recreate
Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
#!/bin/bash -e
22

3-
systemctl stop movement-fullnode.service
43
export DOT_MOVEMENT_PATH=$HOME/.movement
5-
export CONTAINER_REV="fa0f19b"
6-
export AWS_REGION=us-west-2
7-
export AWS_BUCKET_ANONYMOUS_ACCESS=true
8-
export MAPTOS_CHAIN_ID=27
9-
export SYNC_PATTERN="{default_signer_address_whitelist,maptos,maptos-storage,movement-da-db}/**"
4+
export AWS_REGION="us-west-2"
5+
export RESTIC_PASSWORD="movebackup"
6+
export RESTIC_HOST="devnet_fullnode"
107
export SYNC_BUCKET="movement-sync-devnet"
118

12-
/usr/bin/docker compose --env-file movement/.env -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.restore.yml up --force-recreate
9+
# Remove old DB files
10+
echo "Remove Maptos DB files"
11+
if [ -d "$DOT_MOVEMENT_PATH/maptos" ]; then
12+
rm -rf $DOT_MOVEMENT_PATH/maptos
13+
fi
14+
if [ -d "$DOT_MOVEMENT_PATH/maptos-storage" ]; then
15+
rm -rf $DOT_MOVEMENT_PATH/maptos-storage
16+
fi
17+
if [ -d "$DOT_MOVEMENT_PATH/movement-da-db" ]; then
18+
rm -rf $DOT_MOVEMENT_PATH/movement-da-db
19+
fi
20+
21+
/usr/bin/docker compose -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.restore.yml up --force-recreate
Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
#!/bin/bash -e
22

33
export DOT_MOVEMENT_PATH=$HOME/.movement
4-
export CONTAINER_REV="fa0f19b"
5-
export AWS_DEFAULT_REGION=us-west-2
6-
export AWS_REGION=us-west-2
7-
export MAPTOS_CHAIN_ID=126
8-
export SYNC_PATTERN="{default_signer_address_whitelist,maptos,maptos-storage,movement-da-db}/**"
9-
export SYNC_BUCKET="movement-sync-testnet"
10-
export SYNC_ARCHIVE="0.tar.gz"
4+
export AWS_REGION="us-west-2"
5+
export RESTIC_PASSWORD="movebackup"
6+
export RESTIC_HOST="mainnet_fullnode"
7+
export SYNC_BUCKET="movement-sync-mainnet"
118

12-
/usr/bin/docker compose --env-file movement/.env -f /home/ubuntu/movement/docker/compose/movement-full-node/snapshot/docker-compose.save_and_push.yml up --force-recreate
9+
/usr/bin/docker compose -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.backup.yml up --force-recreate
Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
11
#!/bin/bash -e
22

3-
systemctl stop movement-fullnode.service
43
export DOT_MOVEMENT_PATH=$HOME/.movement
5-
export CONTAINER_REV="fa0f19b"
6-
export AWS_REGION=us-west-2
7-
export AWS_BUCKET_ANONYMOUS_ACCESS=true
8-
export MAPTOS_CHAIN_ID=126
9-
export SYNC_PATTERN="{default_signer_address_whitelist,maptos,maptos-storage,movement-da-db}/**"
4+
export AWS_REGION="us-west-2"
5+
export RESTIC_PASSWORD="movebackup"
6+
export RESTIC_HOST="mainnet_fullnode"
107
export SYNC_BUCKET="movement-sync-mainnet"
118

12-
/usr/bin/docker compose --env-file movement/.env -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.restore.yml up --force-recreate
9+
# Remove old DB files
10+
# Remove old DB files
11+
echo "Remove Maptos DB files"
12+
if [ -d "$DOT_MOVEMENT_PATH/maptos" ]; then
13+
rm -rf $DOT_MOVEMENT_PATH/maptos
14+
fi
15+
if [ -d "$DOT_MOVEMENT_PATH/maptos-storage" ]; then
16+
rm -rf $DOT_MOVEMENT_PATH/maptos-storage
17+
fi
18+
if [ -d "$DOT_MOVEMENT_PATH/movement-da-db" ]; then
19+
rm -rf $DOT_MOVEMENT_PATH/movement-da-db
20+
fi
21+
22+
/usr/bin/docker compose -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.restore.yml up --force-recreate
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash -e
2+
3+
export DOT_MOVEMENT_PATH=$HOME/.movement
4+
export AWS_REGION="us-west-2"
5+
export RESTIC_PASSWORD="movebackup"
6+
export RESTIC_HOST="testnet_fullnode"
7+
export SYNC_BUCKET="movement-sync-testnet"
8+
9+
/usr/bin/docker compose -f ./movement/docker/compose/movement-full-node/snapshot/docker-compose.backup.yml up --force-recreate

0 commit comments

Comments
 (0)