72 lines
1.8 KiB
Bash
Executable File
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
|