Compare commits
	
		
			9 Commits
		
	
	
		
			1.1.0
			...
			fbf15c52b5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fbf15c52b5 | |||
| 3e1fee6022 | |||
| 
						 | 
					27c5be7964 | ||
| 
						 | 
					7b2ac2e56a | ||
| 9407f7caaf | |||
| 12cfe301e3 | |||
| 
						 | 
					c2a1fbd9d8 | ||
| 
						 | 
					d43536b67b | ||
| 
						 | 
					da5521295d | 
@@ -2,11 +2,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
cd /scripts
 | 
					cd /scripts
 | 
				
			||||||
DEBUG_MODE=${DEBUG_MODE:-false}
 | 
					DEBUG_MODE=${DEBUG_MODE:-false}
 | 
				
			||||||
VERSION=1.1.0
 | 
					VERSION=1.1.1
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set installed version number
 | 
					 | 
				
			||||||
echo '{}' | jq --arg VERSION "$VERSION" '.VERSION = $VERSION' > /var/tmp/shared/output/version.json
 | 
					 | 
				
			||||||
############################
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-registry.format.hu}
 | 
					#DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-registry.format.hu}
 | 
				
			||||||
DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-safebox}
 | 
					DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-safebox}
 | 
				
			||||||
@@ -116,11 +112,13 @@ backup_query_state() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
generate_backup_server_secrets () {
 | 
					generate_backup_server_secrets () {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        mkdir -p $SECRET_DIR/backup/server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        echo '{ 
 | 
					        echo '{ 
 | 
				
			||||||
            "backupserver":{
 | 
					            "backupserver":{
 | 
				
			||||||
                "SSH_USER":"'$SSH_USER'",
 | 
					                "SSH_USER":"'$SSH_USER'",
 | 
				
			||||||
                "SSH_PORT":"'$SSH_PORT'",
 | 
					                "SSH_PORT":"'$SSH_PORT'",
 | 
				
			||||||
                "SSH_PASSWORD":"'$SSH_PASSWORD'"
 | 
					                "SSH_PASSWORD":"'$SSH_PASSWORD'",
 | 
				
			||||||
                "PASSWORD":"'$PASSWORD'",
 | 
					                "PASSWORD":"'$PASSWORD'",
 | 
				
			||||||
                "PERIOD":"'$PERIOD'",
 | 
					                "PERIOD":"'$PERIOD'",
 | 
				
			||||||
                "COMPRESSION":"'$COMPRESSION'",
 | 
					                "COMPRESSION":"'$COMPRESSION'",
 | 
				
			||||||
@@ -129,7 +127,7 @@ generate_backup_server_secrets () {
 | 
				
			|||||||
                "BACKUP_LOCAL_CLIENTS":"'$BACKUP_LOCAL_CLIENTS'",
 | 
					                "BACKUP_LOCAL_CLIENTS":"'$BACKUP_LOCAL_CLIENTS'",
 | 
				
			||||||
                "BACKUP_VPN_CLIENTS":"'$BACKUP_VPN_CLIENTS'"
 | 
					                "BACKUP_VPN_CLIENTS":"'$BACKUP_VPN_CLIENTS'"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }' | jq -r . > /etc/user/secret/backup/server/backup.json
 | 
					        }' | jq -r . > $SECRET_DIR/backup/server/backup.json
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
create_backup_service () {
 | 
					create_backup_service () {
 | 
				
			||||||
@@ -157,7 +155,7 @@ create_backup_service () {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
    "ENTRYPOINT": "sh -c",
 | 
					    "ENTRYPOINT": "sh -c",
 | 
				
			||||||
    "CMD": "mkdir -p /etc/user/data/backup/server/",
 | 
					    "CMD": "mkdir -p /etc/user/data/backup/server/ssh",
 | 
				
			||||||
    "POST_START": []
 | 
					    "POST_START": []
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -182,15 +180,16 @@ create_backup_service () {
 | 
				
			|||||||
        "DEST": "/etc/user/secret/",
 | 
					        "DEST": "/etc/user/secret/",
 | 
				
			||||||
        "TYPE": "ro"
 | 
					        "TYPE": "ro"
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
        "SOURCE": "/etc/user/data/backup/server/ssh",
 | 
					        "SOURCE": "/etc/user/data/backup/server/ssh",
 | 
				
			||||||
        "DEST": "/home/'$SSH_USER'/",
 | 
					        "DEST": "/home/'$SSH_USER'/",
 | 
				
			||||||
        "TYPE": "rw"
 | 
					        "TYPE": "rw"
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
    "ENV_FILES":["/etc/user/secret/backup/server/backup.json"],
 | 
					    "ENV_FILES":["/etc/user/secret/backup/server/backup.json"],
 | 
				
			||||||
    '$ADDITIONAL'
 | 
					    '$ADDITIONAL',
 | 
				
			||||||
    "POST_START": []
 | 
					    "POST_START": []
 | 
				
			||||||
        },
 | 
					        }
 | 
				
			||||||
    ]
 | 
					    ]
 | 
				
			||||||
 }' 
 | 
					 }' 
 | 
				
			||||||
    # create backup server secrets from variables
 | 
					    # create backup server secrets from variables
 | 
				
			||||||
@@ -211,9 +210,9 @@ backup_set_service() {
 | 
				
			|||||||
    local BACKUP_VPN_CLIENTS="$8"
 | 
					    local BACKUP_VPN_CLIENTS="$8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    local VPN="$9"
 | 
					    local VPN="$9"
 | 
				
			||||||
    local SSH_PORT="${10}"
 | 
					    local SSH_PORT="${10:-20022}"
 | 
				
			||||||
    local SSH_USER="${11}"
 | 
					    local SSH_USER="${11:-"backup"}"
 | 
				
			||||||
    local SSH_PASSWORD="${12}"
 | 
					    local SSH_PASSWORD="${12:-"backup"}"
 | 
				
			||||||
    local OPERATION="${13}"
 | 
					    local OPERATION="${13}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ "$OPERATION" == "DELETE" ]; then
 | 
					    if [ "$OPERATION" == "DELETE" ]; then
 | 
				
			||||||
@@ -268,9 +267,9 @@ backup_set_client() {
 | 
				
			|||||||
    local NAME="$1"
 | 
					    local NAME="$1"
 | 
				
			||||||
    local SIZE="$2"
 | 
					    local SIZE="$2"
 | 
				
			||||||
    local VPN="$3"
 | 
					    local VPN="$3"
 | 
				
			||||||
    local SSH_PORT="$4"
 | 
					    local SSH_PORT="${4:-20022}"
 | 
				
			||||||
    local SSH_USER="$5"
 | 
					    local SSH_USER="${5:-"backup"}"
 | 
				
			||||||
    local SSH_PASSWORD="$6"
 | 
					    local SSH_PASSWORD="${6:-"backup"}"
 | 
				
			||||||
    local OPERATION="$7"
 | 
					    local OPERATION="$7"
 | 
				
			||||||
    local VPN_KEY="$8"
 | 
					    local VPN_KEY="$8"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -323,7 +322,7 @@ backup_set_client() {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
    "ENTRYPOINT": "sh -c",
 | 
					    "ENTRYPOINT": "sh -c",
 | 
				
			||||||
    "CMD": "mkdir -p /etc/user/data/backup/clients/'$NAME'/backup && mkdir -p /etc/user/data/backup/clients/'$NAME'/ssh",
 | 
					    "CMD": "mkdir -p /etc/user/data/backup/clients/'$NAME'/backup && mkdir -p /etc/user/data/backup/clients/'$NAME'/ssh && chmod -R '$SSH_USER':'$SSH_USER' /etc/user/data/backup/clients/'$NAME'",
 | 
				
			||||||
    "POST_START": []
 | 
					    "POST_START": []
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@@ -338,13 +337,12 @@ backup_set_client() {
 | 
				
			|||||||
    "VOLUMES":[
 | 
					    "VOLUMES":[
 | 
				
			||||||
        { 
 | 
					        { 
 | 
				
			||||||
        "SOURCE": "/etc/user/data/backup/clients/'$NAME'/backup",
 | 
					        "SOURCE": "/etc/user/data/backup/clients/'$NAME'/backup",
 | 
				
			||||||
        "DEST": "/backup",
 | 
					        "DEST": "/home/'$SSH_USER'/backup",
 | 
				
			||||||
        "TYPE": "rw"                   
 | 
					        "TYPE": "rw"                   
 | 
				
			||||||
        },                       
 | 
					        },                       
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
        "SOURCE": "/etc/user/data/backup/clients/'$NAME'/ssh",                   
 | 
					        "SOURCE": "/etc/user/data/backup/clients/'$NAME'/ssh",                   
 | 
				
			||||||
        "DEST": "/home/'$SSH_USER'/",
 | 
					        "DEST": "/home/'$SSH_USER'/.ssh",
 | 
				
			||||||
        "TYPE": "rw"
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
    "POST_START": []
 | 
					    "POST_START": []
 | 
				
			||||||
@@ -352,8 +350,8 @@ backup_set_client() {
 | 
				
			|||||||
    ]
 | 
					    ]
 | 
				
			||||||
 }' | jq -r . >/etc/user/config/services/service-backup-client-$NAME.json
 | 
					 }' | jq -r . >/etc/user/config/services/service-backup-client-$NAME.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        debug "service-backup-client-$NAME.json stop force dns-remove"
 | 
					        debug "service-backup-client-$NAME.json start info"
 | 
				
			||||||
        $service_exec service-backup-client-$NAME.json start &
 | 
					        $service_exec service-backup-client-$NAME.json start info &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -512,6 +510,10 @@ get_repositories() {
 | 
				
			|||||||
    local TREES=""
 | 
					    local TREES=""
 | 
				
			||||||
    local REPO
 | 
					    local REPO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ ! -f "/etc/user/config/repositories.json" ]; then
 | 
				
			||||||
 | 
					        create_repositories_json
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    REPOS=$(jq -r .repositories[] /etc/user/config/repositories.json) # list of repos, delimiter by space
 | 
					    REPOS=$(jq -r .repositories[] /etc/user/config/repositories.json) # list of repos, delimiter by space
 | 
				
			||||||
    for REPO in $REPOS; do
 | 
					    for REPO in $REPOS; do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1242,16 +1244,18 @@ execute_task() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        VPN_STATUS="0"
 | 
					        VPN_STATUS="0"
 | 
				
			||||||
        VPN_RESULT=""
 | 
					        VPN_RESULT=""
 | 
				
			||||||
 | 
					        if [ -f $SECRET_DIR/vpn-proxy/wg0.conf ]; then
 | 
				
			||||||
            CONTAINERS=$(docker ps -a --format '{{.Names}} {{.Status}}' | grep -w wireguardproxy)
 | 
					            CONTAINERS=$(docker ps -a --format '{{.Names}} {{.Status}}' | grep -w wireguardproxy)
 | 
				
			||||||
            if [ "$CONTAINERS" != "" ]; then
 | 
					            if [ "$CONTAINERS" != "" ]; then
 | 
				
			||||||
                UP=$(echo $CONTAINERS | grep -w 'Up')
 | 
					                UP=$(echo $CONTAINERS | grep -w 'Up')
 | 
				
			||||||
                if [ "$UP" != "" ]; then
 | 
					                if [ "$UP" != "" ]; then
 | 
				
			||||||
                VPN_STATUS="2"
 | 
					 | 
				
			||||||
            else
 | 
					 | 
				
			||||||
                    VPN_STATUS="1"
 | 
					                    VPN_STATUS="1"
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                    VPN_STATUS="2"
 | 
				
			||||||
                fi
 | 
					                fi
 | 
				
			||||||
                VPN_RESULT=$(echo "$CONTAINERS" | base64 -w0)
 | 
					                VPN_RESULT=$(echo "$CONTAINERS" | base64 -w0)
 | 
				
			||||||
            fi
 | 
					            fi
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
        JSON_TARGET=$(echo '{ "DATE": "'$DATE'", "STATUS": "'$VPN_STATUS'", "RESULT": "'$VPN_RESULT'" }' | jq -r . | base64 -w0)
 | 
					        JSON_TARGET=$(echo '{ "DATE": "'$DATE'", "STATUS": "'$VPN_STATUS'", "RESULT": "'$VPN_RESULT'" }' | jq -r . | base64 -w0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    elif [ "$TASK_NAME" == "save_vpn" ]; then
 | 
					    elif [ "$TASK_NAME" == "save_vpn" ]; then
 | 
				
			||||||
@@ -1496,7 +1500,13 @@ DATE=$(date +%F-%H-%M-%S)
 | 
				
			|||||||
DIR=$SHARED/input
 | 
					DIR=$SHARED/input
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Triggers by certificate or domain config changes
 | 
					# Triggers by certificate or domain config changes
 | 
				
			||||||
 | 
					# Set installed version number
 | 
				
			||||||
 | 
					echo '{}' | jq --arg VERSION "$VERSION" '.VERSION = $VERSION' > $SHARED/output/version.json
 | 
				
			||||||
 | 
					############################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "$DEBUG_MODE" == "true" ]; then
 | 
				
			||||||
 | 
					    rm $DIR/*
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
unset IFS
 | 
					unset IFS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inotifywait --exclude "\.(swp|tmp)" -m -e CREATE,CLOSE_WRITE,DELETE,MOVED_TO -r $DIR |
 | 
					inotifywait --exclude "\.(swp|tmp)" -m -e CREATE,CLOSE_WRITE,DELETE,MOVED_TO -r $DIR |
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user