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