Compare commits

...
8 Commits
5 changed files with 63 additions and 28 deletions
+2
View File
@@ -1 +1,3 @@
.env .env
*.tar.gz
config/
+5 -2
View File
@@ -14,9 +14,10 @@ services:
- tor_net - tor_net
depends_on: depends_on:
- broker - broker
restart: unless-stopped
broker: broker:
image: eclipse-mosquitto image: eclipse-mosquitto:1.6
volumes: volumes:
- broker_data:/mosquitto/data - broker_data:/mosquitto/data
- ${CONFIG_DIR}:/mosquitto/config:ro - ${CONFIG_DIR}:/mosquitto/config:ro
@@ -26,6 +27,7 @@ services:
networks: networks:
- tor_net - tor_net
- broker_net - broker_net
restart: unless-stopped
subscriber: subscriber:
build: './subscriber' build: './subscriber'
@@ -38,6 +40,7 @@ services:
- broker_net - broker_net
depends_on: depends_on:
- broker - broker
restart: unless-stopped
volumes: volumes:
broker_data: broker_data:
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash -e
[ $# -lt 2 ] && { echo "Usage: $0 {backup|restore} BACKUP_FILENAME"; exit 1; }
DOCKER_COMPOSE=/usr/bin/docker-compose
backup_file=$2
project_subscriber_volume_name=client_data
project_tor_volume_name=tor_config
tor_service=tor
$DOCKER_COMPOSE --log-level WARNING up --no-start
project_name=$(docker ps -a --no-trunc | grep $($DOCKER_COMPOSE ps -q ${tor_service}) | awk '{ print $2; }' | awk -F "_" '{ print $1; }')
project_volumes=$(docker volume ls -f name=$project_name | awk '{if (NR > 1) print $2"\n";}')
subscriber_volume=$(echo "$project_volumes" | grep ${project_subscriber_volume_name} | xargs)
tor_volume=$(echo "$project_volumes" | grep ${project_tor_volume_name} | xargs)
function backup {
docker run --rm \
-v $subscriber_volume:/data/subscriber \
-v $tor_volume:/data/tor \
-v $(pwd):/backup \
ubuntu \
tar -C / -czvf /backup/$backup_file data
docker run --rm \
-v $(pwd):/backup \
ubuntu \
chown $UID:$UID /backup/$backup_file
}
function restore {
$DOCKER_COMPOSE stop $tor_service
cp $backup_file backup.tar.gz
docker run --rm \
-v $subscriber_volume:/data/subscriber \
-v $tor_volume:/data/tor \
-v $(pwd)/$backup_file:/backup/backup.tar.gz \
ubuntu \
tar -C / -xzvf /backup/backup.tar.gz
$DOCKER_COMPOSE start $tor_service
rm backup.tar.gz
}
$1
-25
View File
@@ -1,25 +0,0 @@
#!/bin/bash
# Script to migrate from volume-less tor instance to one that retains
# tor hidden service state (onion url, etc.)
mkdir -p backup/tor
docker cp torch-subscriber-docker_tor_1:/var/lib/tor/svc backup/tor/
docker-compose down
docker-compose up --no-start
docker run --rm \
-v $(pwd)/backup/tor:/backup \
-v torch-subscriber-docker_tor_config:/tor \
ubuntu \
cp -r /backup/svc /tor/
docker run --rm \
-v torch-subscriber-docker_tor_config:/tor \
ubuntu \
chown -R 0:0 /tor
rm -rf backup
docker-compose up -d
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
while ! curl -s --socks5 127.0.0.1:9050 'https://check.torproject.org/' | grep -qm1 Congratulations while ! curl -s -N --socks5 127.0.0.1:9050 'https://check.torproject.org/' | grep -qm1 Congratulations
do do
sleep 0.5 sleep 0.5
done done