Files
cloudbt/scripts/start-agent.sh
2025-12-13 23:33:59 +08:00

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