Compare commits
8
Commits
8c02e4f231
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5059fafae | ||
|
|
573f5a8c9e | ||
|
|
776ab35eac | ||
|
|
c33f6523e2 | ||
|
|
b409d7fe28 | ||
|
|
c51cd684e2 | ||
|
|
528b0ee77f | ||
|
|
fe766569c3 |
@@ -1 +1,3 @@
|
||||
.env
|
||||
*.tar.gz
|
||||
config/
|
||||
|
||||
+4
-1
@@ -14,9 +14,10 @@ services:
|
||||
- tor_net
|
||||
depends_on:
|
||||
- broker
|
||||
restart: unless-stopped
|
||||
|
||||
broker:
|
||||
image: eclipse-mosquitto
|
||||
image: eclipse-mosquitto:1.6
|
||||
volumes:
|
||||
- broker_data:/mosquitto/data
|
||||
- ${CONFIG_DIR}:/mosquitto/config:ro
|
||||
@@ -26,6 +27,7 @@ services:
|
||||
networks:
|
||||
- tor_net
|
||||
- broker_net
|
||||
restart: unless-stopped
|
||||
|
||||
subscriber:
|
||||
build: './subscriber'
|
||||
@@ -38,6 +40,7 @@ services:
|
||||
- broker_net
|
||||
depends_on:
|
||||
- broker
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
broker_data:
|
||||
|
||||
Executable
+55
@@ -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
|
||||
@@ -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
@@ -1,6 +1,6 @@
|
||||
#!/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
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user