75 lines
1.5 KiB
Plaintext
75 lines
1.5 KiB
Plaintext
|
#!/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
|