diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index ae1c8ebcd77922668dc4d029bc9dfd272a42d7b0..611473d20f0fb6a037fbc542b6532061a533f677 100755
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -1,14 +1,21 @@
 #!/usr/bin/env bash
 set -Eeo pipefail
 
+trap "exit" INT
+
 mkdir /seafile-data
 seaf-cli init -d /seafile-data
+seaf-cli start
+
+sleep 5
+
 if [ -z "$OTP_TOKEN" ]; then
+  echo "syncing library"
   seaf-cli sync -l "$LIBRARY" -s "$SERVER" -d "/sync" -u "$EMAIL" -p "$PASSWORD"
 else
+  echo "syncing library with OTP"
   seaf-cli sync -l "$LIBRARY" -s "$SERVER" -d "/sync" -u "$EMAIL" -p "$PASSWORD" --tfa $(oathtool --totp -b "$OTP_TOKEN")
 fi
-seaf-cli start
 
 maxretry=4
 retry=0
@@ -17,6 +24,7 @@ while [ "$retry" -le "$maxretry" ]; do
     ps aux | grep seafile | grep -v grep > /dev/null 2> /dev/null || {
         retry=$(expr $retry + 1);
     }
+    seaf-cli status
     sleep 5
 done
 echo "Seafile not running"