#!/bin/bash

IMAGE=ppccloud-registry-test.yandex.ru:5000/ppalex_zookeeper_on_oracle_jre:3.4.8-8u92

ZOOCFG=/opt/zoo/zoo.cfg
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
ZOO_LOG_DIR=/opt/zoo/log

JAVA_OPTS="-Xmx1G \
    -Xloggc:$ZOO_LOG_DIR/zookeeper-gc.log \
    -XX:+UseGCLogFileRotation \
    -XX:NumberOfGCLogFiles=16 \
    -XX:GCLogFileSize=16M \
    -verbose:gc \
    -XX:+PrintGCTimeStamps \
    -XX:+PrintGCDateStamps \
    -XX:+PrintGCDetails \
    -XX:+PrintTenuringDistribution \
    -XX:+PrintGCApplicationStoppedTime \
    -XX:+PrintGCApplicationConcurrentTime \
    -XX:+PrintSafepointStatistics \
    -XX:+UseParNewGC \
    -XX:+UseConcMarkSweepGC \
    -XX:+CMSParallelRemarkEnabled"
CLASSPATH="/opt/zoo:/usr/share/java/jline-0.9.94.jar:/usr/share/java/log4j-1.2.16.jar:/usr/share/java/netty-3.7.0.Final.jar:/usr/share/java/slf4j-api-1.6.1.jar:/usr/share/java/slf4j-log4j12-1.6.1.jar:/usr/share/java/zookeeper-3.4.8.jar"
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"

/usr/bin/docker run \
    --name=ppalex-zk-node \
    --net=host \
    --read-only \
    --volume=/home/ppalex/zk-srv:/opt/zoo:rw \
    --rm=false \
    --detach=true \
    --user=zookeeper \
    --restart=always \
    $IMAGE \
    /usr/bin/java \
        $JAVA_OPTS \
        -Dzookeeper.log.dir="$ZOO_LOG_DIR" \
        -Dzookeeper.root.logger="$ZOO_LOG4J_PROP" \
        -cp "$CLASSPATH" \
        -Dcom.sun.management.jmxremote \
        -Dcom.sun.management.jmxremote.local.only=false \
        "$ZOOMAIN" "$ZOOCFG"

