aboutsummaryrefslogtreecommitdiff
path: root/docker/entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/entrypoint.sh')
-rwxr-xr-xdocker/entrypoint.sh67
1 files changed, 40 insertions, 27 deletions
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index 791527d3a..a5a240575 100755
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -1,55 +1,68 @@
#!/bin/sh
+isArgPassed() {
+ arg="$1"
+ argWithEqualSign="$1="
+ shift
+ while [ $# -gt 0 ]; do
+ passedArg="$1"
+ shift
+ case $passedArg in
+ $arg)
+ return 0
+ ;;
+ $argWithEqualSign*)
+ return 0
+ ;;
+ esac
+ done
+ return 1
+}
+
case "$1" in
'master')
- ARGS="-mdir /data"
- # Is this instance linked with an other master? (Docker commandline "--link master1:master")
- if [ -n "$MASTER_PORT_9333_TCP_ADDR" ] ; then
- ARGS="$ARGS -peers=$MASTER_PORT_9333_TCP_ADDR:$MASTER_PORT_9333_TCP_PORT"
- fi
- exec /usr/bin/weed $@ $ARGS
+ ARGS="-mdir=/data -volumePreallocate -volumeSizeLimitMB=1024"
+ shift
+ exec /usr/bin/weed master $ARGS $@
;;
'volume')
- ARGS="-ip `hostname -i` -dir /data"
- # Is this instance linked with a master? (Docker commandline "--link master1:master")
- if [ -n "$MASTER_PORT_9333_TCP_ADDR" ] ; then
- ARGS="$ARGS -mserver=$MASTER_PORT_9333_TCP_ADDR:$MASTER_PORT_9333_TCP_PORT"
- fi
- exec /usr/bin/weed $@ $ARGS
+ ARGS="-dir=/data -max=0"
+ if isArgPassed "-max" "$@"; then
+ ARGS="-dir=/data"
+ fi
+ shift
+ exec /usr/bin/weed volume $ARGS $@
;;
'server')
- ARGS="-ip `hostname -i` -dir /data"
- if [ -n "$MASTER_PORT_9333_TCP_ADDR" ] ; then
- ARGS="$ARGS -master.peers=$MASTER_PORT_9333_TCP_ADDR:$MASTER_PORT_9333_TCP_PORT"
- fi
- exec /usr/bin/weed $@ $ARGS
+ ARGS="-dir=/data -volume.max=0 -master.volumePreallocate -master.volumeSizeLimitMB=1024"
+ if isArgPassed "-volume.max" "$@"; then
+ ARGS="-dir=/data -master.volumePreallocate -master.volumeSizeLimitMB=1024"
+ fi
+ shift
+ exec /usr/bin/weed server $ARGS $@
;;
'filer')
ARGS=""
- if [ -n "$MASTER_PORT_9333_TCP_ADDR" ] ; then
- ARGS="$ARGS -master=$MASTER_PORT_9333_TCP_ADDR:$MASTER_PORT_9333_TCP_PORT"
- fi
- exec /usr/bin/weed $@ $ARGS
+ shift
+ exec /usr/bin/weed filer $ARGS $@
;;
's3')
ARGS="-domainName=$S3_DOMAIN_NAME -key.file=$S3_KEY_FILE -cert.file=$S3_CERT_FILE"
- if [ -n "$FILER_PORT_8888_TCP_ADDR" ] ; then
- ARGS="$ARGS -filer=$FILER_PORT_8888_TCP_ADDR:$FILER_PORT_8888_TCP_PORT"
- fi
- exec /usr/bin/weed $@ $ARGS
+ shift
+ exec /usr/bin/weed s3 $ARGS $@
;;
'cronjob')
MASTER=${WEED_MASTER-localhost:9333}
FIX_REPLICATION_CRON_SCHEDULE=${CRON_SCHEDULE-*/7 * * * * *}
- echo "$FIX_REPLICATION_CRON_SCHEDULE" 'echo "volume.fix.replication" | weed shell -master='$MASTER > /crontab
+ echo "$FIX_REPLICATION_CRON_SCHEDULE" 'echo "lock; volume.fix.replication; unlock" | weed shell -master='$MASTER > /crontab
BALANCING_CRON_SCHEDULE=${CRON_SCHEDULE-25 * * * * *}
- echo "$BALANCING_CRON_SCHEDULE" 'echo "volume.balance -c ALL -force" | weed shell -master='$MASTER >> /crontab
+ echo "$BALANCING_CRON_SCHEDULE" 'echo "lock; volume.balance -collection ALL_COLLECTIONS -force; unlock" | weed shell -master='$MASTER >> /crontab
echo "Running Crontab:"
cat /crontab
exec supercronic /crontab