Download scripts/deploy_koyeb.sh from Houroux/polymarket-lp-collector-source: direct link, hf CLI and curl.
- Browser
- Download file 1.68 kB
-
https://huggingface.co/Houroux/polymarket-lp-collector-source/resolve/main/scripts/deploy_koyeb.sh
- Command line
-
hf download hf://Houroux/polymarket-lp-collector-source/scripts/deploy_koyeb.sh
-
curl -L -o deploy_koyeb.sh https://huggingface.co/Houroux/polymarket-lp-collector-source/resolve/main/scripts/deploy_koyeb.sh
1.68 kB
| set -Eeuo pipefail | |
| PROJECT_DIR="${1:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" | |
| RCLONE_CONFIG_FILE="${RCLONE_CONFIG_FILE:-$HOME/.config/rclone/rclone.conf}" | |
| APP_SERVICE="${KOYEB_APP_SERVICE:-polymarket-collector/collector}" | |
| SECRET_NAME="${KOYEB_RCLONE_SECRET:-polymarket-rclone-config}" | |
| if ! command -v koyeb >/dev/null 2>&1; then | |
| echo "Koyeb CLI is missing: https://www.koyeb.com/docs/build-and-deploy/cli/installation" >&2 | |
| exit 1 | |
| fi | |
| if [[ ! -f "$PROJECT_DIR/Dockerfile" ]]; then | |
| echo "Dockerfile not found in $PROJECT_DIR" >&2 | |
| exit 1 | |
| fi | |
| if [[ ! -s "$RCLONE_CONFIG_FILE" ]]; then | |
| echo "rclone config not found: $RCLONE_CONFIG_FILE" >&2 | |
| exit 1 | |
| fi | |
| if koyeb secrets describe "$SECRET_NAME" >/dev/null 2>&1; then | |
| base64 -w0 "$RCLONE_CONFIG_FILE" \ | |
| | koyeb secrets update "$SECRET_NAME" --value-from-stdin >/dev/null | |
| else | |
| base64 -w0 "$RCLONE_CONFIG_FILE" \ | |
| | koyeb secrets create "$SECRET_NAME" --value-from-stdin >/dev/null | |
| fi | |
| koyeb deploy "$PROJECT_DIR" "$APP_SERVICE" \ | |
| --archive-builder docker \ | |
| --instance-type free \ | |
| --regions fra \ | |
| --ports 8080:http \ | |
| --routes /:8080 \ | |
| --checks 8080:http:/healthz \ | |
| --checks-grace-period 8080=180 \ | |
| --scale 1 \ | |
| --env MAX_MARKETS=40 \ | |
| --env DATA_DIR=/data \ | |
| --env HEALTH_HOST=0.0.0.0 \ | |
| --env PORT=8080 \ | |
| --env ROTATION_SECONDS=300 \ | |
| --env MAX_FILE_MIB=32 \ | |
| --env BACKUP_INTERVAL_SECONDS=120 \ | |
| --env BACKUP_MIN_AGE=30s \ | |
| --env REMOVE_AFTER_UPLOAD=true \ | |
| --env REQUIRE_REMOTE_BACKUP=true \ | |
| --env RCLONE_REMOTE=gdrive:polymarket-data \ | |
| --env "RCLONE_CONFIG_B64={{secret.$SECRET_NAME}}" \ | |
| --wait \ | |
| --wait-timeout 10m | |
| koyeb services get "$APP_SERVICE" | |