stable/bin/run-docker

75 lines
1.5 KiB
Plaintext
Raw Normal View History

#!/bin/bash
# Check if docker image exists
CMD_CHECK_IMAGE="docker images -q freqtrade:latest"
REBUILD=false
DRY_RUN=false
while getopts rdh option
do
case "${option}"
in
r) REBUILD=true
;;
d) DRY_RUN=true
;;
h) cat << EOF
Commands available :
-r Rebuild the container
-d Dry Run
-h This help message
EOF
exit 0
;;
esac
done
# Ensures files exists
[ -d ~/.freqtrade ] || mkdir ~/.freqtrade
cp config.json ~/.freqtrade/
touch ~/.freqtrade/tradesv2.sqlite
touch ~/.freqtrade/tradesv2.dry_run.sqlite
echo 'Stopping container...'
docker stop freqtrade > /dev/null \
&& docker rm freqtrade > /dev/null \
&& echo 'Container stopped'
if [[ -z $($CMD_CHECK_IMAGE) || $REBUILD = true ]]; then
echo "Building container"
docker build -t freqtrade .
fi
# Generates Docker commands based on options
DOCKER_CMD="docker run -d \
--name freqtrade \
-v ~/.freqtrade/config.json:/freqtrade/config.json"
if [[ $DRY_RUN = true ]]; then
DOCKER_CMD="$DOCKER_CMD \
-v ~/.freqtrade/tradesv2.dry_run.sqlite:/freqtrade/tradesv2.dry_run.sqlite"
else
DOCKER_CMD="$DOCKER_CMD \
-v ~/.freqtrade/tradesv2.sqlite:/freqtrade/tradesv2.sqlite"
fi
DOCKER_CMD="$DOCKER_CMD freqtrade"
echo 'Starting container'
eval $DOCKER_CMD \ > /dev/null \
&& echo 'Container ready' \
|| echo 'Problem starting container'
exit 0
docker run -d \
--name freqtrade \
-v ~/.freqtrade/config.json:/freqtrade/config.json \
-v ~/.freqtrade/tradesv2.dry_run.sqlite:/freqtrade/tradesv2.dry_run.sqlite \
freqtrade