diff --git a/Dockerfile b/Dockerfile index 49a3940..2827a57 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,8 @@ FROM alpine RUN apk --no-cache add \ libressl \ - lftp + lftp \ + bash ADD upload.sh /bin/ RUN chmod +x /bin/upload.sh diff --git a/upload.sh b/upload.sh old mode 100644 new mode 100755 index a9bf588..bc64d1a --- a/upload.sh +++ b/upload.sh @@ -1 +1,37 @@ #!/bin/bash + +if [ -z "$PLUGIN_USERNAME" ]; then + echo "Need to set username" + exit 1 +fi + +if [ -z "$PLUGIN_HOSTNAME" ]; then + echo "Need to set hostname" + exit 1 +fi + +if [ -z "$PLUGIN_SECURE" ]; then + PLUGIN_SECURE="true" +fi + +if [ -z "$PLUGIN_DEST_DIR" ]; then + PLUGIN_DEST_DIR="/" +fi + +if [ -z "$PLUGIN_SRC_DIR" ]; then + PLUGIN_SRC_DIR="/" +fi + +PLUGIN_EXCLUDE_STR="" +PLUGIN_INCLUDE_STR="" + +IFS=',' read -ra in_arr <<< "$PLUGIN_EXCLUDE" +for i in "${in_arr[@]}"; do + PLUGIN_EXCLUDE_STR="$PLUGIN_EXCLUDE_STR -x $i" +done +IFS=',' read -ra in_arr <<< "$PLUGIN_INCLUDE" +for i in "${in_arr[@]}"; do + PLUGIN_INCLUDE_STR="$PLUGIN_INCLUDE_STR -x $i" +done + +lftp -c "open -u $PLUGIN_USERNAME,$FTP_PASSWORD $PLUGIN_HOSTNAME; set ftp:ssl-force $PLUGIN_SECURE; set ftp:ssl-protect-data $PLUGIN_SECURE; mirror -R $PLUGIN_INCLUDE_STR $PLUGIN_EXCLUDE_STR $(pwd)$PLUGIN_SRC_DIR $PLUGIN_DEST_DIR" \ No newline at end of file