dragonfly/deploy/docker-compose/run.sh

72 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
set -e
REPO=${REPO:-d7yio}
TAG=${TAG:-latest}
DIR=$(cd "$(dirname "$0")" && pwd)
cd $DIR
prepare(){
mkdir -p config
cat template/cdn.template.json > config/cdn.json
cat template/cdn.template.yaml > config/cdn.yaml
cat template/dfget.template.yaml > config/dfget.yaml
ip=${IP:-$(hostname -i)}
hostname=$(hostname)
sed -i "s,__IP__,$ip," config/cdn.json
sed -i "s,__IP__,$ip," config/dfget.yaml
sed -i "s,__IP__,$ip," config/cdn.yaml
sed -i "s,__HOSTNAME__,$hostname," config/cdn.json
}
run_container(){
RUNTIME=${RUNTIME:-docker}
echo use container runtime: ${RUNTIME}
echo try to clean old containers
${RUNTIME} rm -f dragonfly-cdn dragonfly-scheduler dragonfly-dfdaemon
printf "create dragonfly-cdn "
${RUNTIME} run -d --name dragonfly-cdn --net=host \
-v /tmp/log/dragonfly:/var/log/dragonfly \
-v ${DIR}/config/cdn.yaml:/etc/dragonfly/cdn.yaml \
-v ${DIR}/config/nginx.conf:/etc/nginx/nginx.conf \
${REPO}/cdn:${TAG}
printf "create dragonfly-scheduler "
${RUNTIME} run -d --name dragonfly-scheduler --net=host \
-v /tmp/log/dragonfly:/var/log/dragonfly \
-v ${DIR}/config/scheduler.yaml:/etc/dragonfly/scheduler.yaml \
-v ${DIR}/config/cdn.json:/opt/dragonfly/scheduler-cdn/cdn.json \
${REPO}/scheduler:${TAG}
printf "create dragonfly-dfdaemon "
${RUNTIME} run -d --name dragonfly-dfdaemon --net=host \
-v /tmp/log/dragonfly:/var/log/dragonfly \
-v ${DIR}/config/dfget.yaml:/etc/dragonfly/dfget.yaml \
${REPO}/dfdaemon:${TAG}
}
prepare
case "$1" in
container)
run_container
;;
*)
if [ -z "$1" ]; then
docker-compose up -d
exit 0
fi
echo "unknown argument: $1"
exit 1
;;
esac