github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/fstest/testserver/init.d/TestSeafile (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  # environment variables passed on docker-compose
     6  export NAME=seafile7
     7  export MYSQL_ROOT_PASSWORD=pixenij4zacoguq0kopamid6
     8  export SEAFILE_ADMIN_EMAIL=seafile@rclone.org
     9  export SEAFILE_ADMIN_PASSWORD=pixenij4zacoguq0kopamid6
    10  export SEAFILE_IP=127.0.0.1
    11  export SEAFILE_PORT=8087
    12  export SEAFILE_TEST_DATA=${SEAFILE_TEST_DATA:-/tmp/seafile-test-data}
    13  export SEAFILE_VERSION=latest
    14  
    15  # make sure the data directory exists
    16  mkdir -p ${SEAFILE_TEST_DATA}/${NAME}
    17  
    18  # docker-compose project directory
    19  COMPOSE_DIR=$(dirname "$0")/seafile
    20  
    21  start() {
    22      docker-compose --project-directory ${COMPOSE_DIR} --project-name ${NAME} --file ${COMPOSE_DIR}/docker-compose.yml up -d
    23  
    24      # it takes some time for the database to be created
    25      sleep 60
    26  
    27      # authentication token answer should be like: {"token":"dbf58423f1632b5b679a13b0929f1d0751d9250c"}
    28      TOKEN=`curl --silent \
    29          --data-urlencode username=${SEAFILE_ADMIN_EMAIL} -d password=${SEAFILE_ADMIN_PASSWORD} \
    30          http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/auth-token/ \
    31          | sed 's/^{"token":"\(.*\)"}$/\1/'`
    32  
    33      # create default library
    34      curl -X POST -H "Authorization: Token ${TOKEN}" "http://${SEAFILE_IP}:${SEAFILE_PORT}/api2/default-repo/"
    35  
    36      echo _connect=${SEAFILE_IP}:${SEAFILE_PORT}
    37      echo type=seafile
    38      echo url=http://${SEAFILE_IP}:${SEAFILE_PORT}/
    39      echo user=${SEAFILE_ADMIN_EMAIL}
    40      echo pass=$(rclone obscure ${SEAFILE_ADMIN_PASSWORD})
    41      echo library=My Library
    42  }
    43  
    44  stop() {
    45      if status ; then
    46          docker-compose --project-directory ${COMPOSE_DIR} --project-name ${NAME} --file ${COMPOSE_DIR}/docker-compose.yml down
    47      fi
    48  }
    49  
    50  status() {
    51      if docker ps --format "{{.Names}}" | grep ^${NAME}_seafile_1$ >/dev/null ; then
    52          echo "$NAME running"
    53      else
    54          echo "$NAME not running"
    55          return 1
    56      fi
    57      return 0
    58  }
    59  
    60  . $(dirname "$0")/run.bash