Implement upload/download limits, disable_verify_certificates config keys

This commit is contained in:
flow.gunso
2019-12-30 10:09:06 +01:00
parent 8e33c7431e
commit 9f526467fe
2 changed files with 38 additions and 4 deletions

View File

@@ -17,10 +17,34 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# Check mandatory Seafile configuration have been properly set. # Check mandatory Seafile configuration have been properly set.
if [ -z $SEAF_SERVER_URL ]; then echo "The \$SEAF_SERVER_URL was not defined. Stopping container..."; exit 1; fi if [ -z $SEAF_SERVER_URL ]; then
if [ -z $SEAF_USERNAME ]; then echo "The \$SEAF_USERNAME was not defined. Stopping container..."; exit 1; fi echo "The \$SEAF_SERVER_URL is not defined. Stopping container..."
if [ -z $SEAF_PASSWORD ]; then echo "The \$SEAF_PASSWORD was not defined. Stopping container..."; exit 1; fi exit 1
if [ -z $SEAF_LIBRARY_UUID ]; then echo "The \$SEAF_LIBRARY_UUID was not defined. Stopping container..."; exit 1; fi fi
if [ -z $SEAF_USERNAME ]; then
echo "The \$SEAF_USERNAME is not defined. Stopping container..."
exit 1
fi
if [ -z $SEAF_PASSWORD ]; then
echo "The \$SEAF_PASSWORD is not defined. Stopping container..."
exit 1
fi
if [ -z $SEAF_LIBRARY_UUID ]; then
echo "The \$SEAF_LIBRARY_UUID is not defined. Stopping container..."
exit 1
fi
if [ -n "$SEAF_UPLOAD_LIMIT" ]
&& [[ $SEAF_UPLOAD_LIMIT =~ ^[0-9]+$ ]]
&& [ "$SEAF_UPLOAD_LIMIT" -gt 0 ]; then
echo "The \$SEAF_UPLOAD_LIMIT is not an integer greater than 0. Stopping container..."
exit 1
fi
if [ -n "$SEAF_DOWNLOAD_LIMIT" ]
&& [[ $SEAF_DOWNLOAD_LIMIT =~ ^[0-9]+$ ]]
&& [ "$SEAF_DOWNLOAD_LIMIT" -gt 0 ]; then
echo "The \$SEAF_DOWNLOAD_LIMIT is not an integer greater than 0. Stopping container..."
exit 1
fi
# Update the user ID, if the $UID changed. # Update the user ID, if the $UID changed.
if [ "$UID" != "1000" ]; then if [ "$UID" != "1000" ]; then
@@ -49,6 +73,9 @@ su - $UNAME << EO
export SEAF_USERNAME=$SEAF_USERNAME export SEAF_USERNAME=$SEAF_USERNAME
export SEAF_PASSWORD=$SEAF_PASSWORD export SEAF_PASSWORD=$SEAF_PASSWORD
export SEAF_LIBRARY_UUID=$SEAF_LIBRARY_UUID export SEAF_LIBRARY_UUID=$SEAF_LIBRARY_UUID
export SEAF_SKIP_SSL_CERT=$SEAF_SKIP_SSL_CERT
test -n "$SEAF_UPLOAD_LIMIT" && export SEAF_UPLOAD_LIMIT=$SEAF_UPLOAD_LIMIT
test -n "$SEAF_DOWNLOAD_LIMIT" && export SEAF_DOWNLOAD_LIMIT=$SEAF_DOWNLOAD_LIMIT
export UNAME=$UNAME export UNAME=$UNAME
/bin/bash /home/seafuser/entrypoint.sh /bin/bash /home/seafuser/entrypoint.sh
EO EO

View File

@@ -31,5 +31,12 @@ while [ ! -f $seafile_ini ]; do sleep 1; done
/usr/bin/seaf-cli start /usr/bin/seaf-cli start
while [ ! -S $seafile_sock ]; do sleep 1; done while [ ! -S $seafile_sock ]; do sleep 1; done
# Set the disable_verify_certificate key to true only if the environment variable is true.
test "$SEAF_SKIP_SSL_CERT" = true && seaf-cli config -k disable_verify_certificate -v true
# Set the upload/download limits
test -n "$SEAF_UPLOAD_LIMIT" && seaf-cli config -k upload_limit -v $SEAF_UPLOAD_LIMIT
test -n "$SEAF_DOWNLOAD_LIMIT" && seaf-cli config -k download_limit -v $SEAF_DOWNLOAD_LIMIT
# Start the synchronisation. # Start the synchronisation.
/usr/bin/seaf-cli sync -u $SEAF_USERNAME -p $SEAF_PASSWORD -s $SEAF_SERVER_URL -l $SEAF_LIBRARY_UUID -d /volume /usr/bin/seaf-cli sync -u $SEAF_USERNAME -p $SEAF_PASSWORD -s $SEAF_SERVER_URL -l $SEAF_LIBRARY_UUID -d /volume