This site uses cookies

We and selected third parties use cookies (or similar technologies) for technical purposes, to enhance and analyze site usage, to support our marketing efforts, and for other purposes described in our Cookies policy.

Fly V3 Script -

#!/usr/bin/env bash set -euo pipefail APP_NAME="my-app" REGION="iad" fly deploy --app $APP_NAME --image-label script-run Run a one-off machine MACHINE_ID=$(fly machines run --app $APP_NAME --region $REGION --image "flyio/flyctl:latest" --command "/bin/sh -c 'echo Hello from V3; sleep 2'" --detach)

echo "Started machine: $MACHINE_ID" fly machines wait $MACHINE_ID --app $APP_NAME Show logs fly logs --app $APP_NAME --machine $MACHINE_ID Clean up fly machines destroy $MACHINE_ID --app $APP_NAME fly v3 script

MACHINE_ID=$(echo "$RESP" | jq -r '.id') echo "Created machine: $MACHINE_ID" sleep 5 fly machine status $MACHINE_ID --app $APP_NAME 5. Running a Scheduled Task For recurring scripts, use Fly Cron Machines (V3 feature): "restart": "policy": "no"

Make it executable:

chmod +x fly-v3-script.sh ./fly-v3-script.sh You can script against the API directly. Example with curl : "region": "sjc" ')

FLY_API_TOKEN=$(fly auth token) APP_NAME="my-app" RESP=$(curl -s -X POST -H "Authorization: Bearer $FLY_API_TOKEN" -H "Content-Type: application/json" "https://api.machines.dev/v1/apps/$APP_NAME/machines" -d ' "config": "image": "busybox:latest", "cmd": ["echo", "Hello API"], "restart": "policy": "no" , "region": "sjc" ')