59 lines
1.7 KiB
Bash
59 lines
1.7 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
check_env_var() {
|
|
if [ -z "${!1// /}" ]; then
|
|
echo "Error: $1 is not set or is empty"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
check_env_var OSS_ENDPOINT
|
|
check_env_var OSS_ACCESS_KEY
|
|
check_env_var OSS_SECRET_KEY
|
|
check_env_var WORKER_NAME
|
|
check_env_var BINANCE_FUTURES_DIR
|
|
|
|
# Check if BINANCE_FUTURES_DIR directory exists
|
|
if [ ! -d "$BINANCE_FUTURES_DIR" ]; then
|
|
echo "Error: BINANCE_FUTURES_DIR directory '$BINANCE_FUTURES_DIR' does not exist"
|
|
exit 1
|
|
fi
|
|
# Set working directory with default value
|
|
WORKING_DIR=${WORKING_DIR:-/kaggle/working}
|
|
|
|
# Check if WORKING_DIR directory exists
|
|
if [ ! -d "$WORKING_DIR" ]; then
|
|
echo "Error: WORKING_DIR directory '$WORKING_DIR' does not exist"
|
|
exit 1
|
|
fi
|
|
|
|
pip install \
|
|
git+https://gitea.oopsapi.com/yhydev/myscripts.git \
|
|
prefect_shell \
|
|
freqtrade \
|
|
prefect;
|
|
if [ ! -d $WORKING_DIR/user_data ]; then
|
|
freqtrade create-userdir --userdir $WORKING_DIR/user_data;
|
|
fi
|
|
mkdir -p $WORKING_DIR/user_data/data/binance;
|
|
if [ ! -L $WORKING_DIR/user_data/data/binance/futures ]; then
|
|
ln -s $BINANCE_FUTURES_DIR $WORKING_DIR/user_data/data/binance/futures;
|
|
fi;
|
|
cd $WORKING_DIR;
|
|
if [ ! -f ~/.local/bin/mc ]; then
|
|
mkdir -p ~/.local/bin
|
|
wget https://dl.min.io/aistor/mc/release/linux-amd64/mc -O $HOME/.local/bin/mc
|
|
chmod +x ~/.local/bin/mc
|
|
fi
|
|
export PATH=$PATH:$HOME/.local/bin
|
|
mc alias set oss $OSS_ENDPOINT $OSS_ACCESS_KEY $OSS_SECRET_KEY --api S3v4
|
|
|
|
# Check if OSS is accessible
|
|
echo "Checking OSS connectivity..."
|
|
if ! mc ls oss/ > /dev/null 2>&1; then
|
|
echo "Error: Unable to connect to OSS at $OSS_ENDPOINT"
|
|
exit 1
|
|
fi
|
|
echo "OSS connection successful!"
|
|
prefect worker start --name $WORKER_NAME --pool freqtrade -l 3 |