Перейти к основному содержимому

Перевод: оболочка страницы на русском; тело навыка (SKILL.md) пока на английском — это исходные инструкции агента.

Fly Deploy

Deploy a starter app to Fly.io with flyctl.

Метаданные навыка​

SourceOptional — install with vibeos skills install official/web-development/fly-deploy
Путьoptional-skills/web-development/fly-deploy
Версия1.0.0
АвторVibeOS
ЛицензияMIT
Платформыlinux, macos
Тегиfly, flyio, deploy, hosting, internet, docker
Связанные навыкиinternet-starter, ship-web-service, deploy-presets, browser-network-assert

Справка: полный SKILL.md​

к сведению

Ниже полное определение навыка, которое VibeOS загружает при активации. Это инструкции, которые видит агент.

Fly Deploy

Ship an internet-starter (or similar) app to Fly.io with flyctl. Secrets only via fly secrets / .env — never invent tokens in chat.

When to Use​

  • User wants a durable public URL (not Cloudflare temporary)
  • After local health is green (vibeos project servers, browser-network-assert)

Prerequisites​

  • flyctl installed (curl -L https://fly.io/install.sh | sh or brew)
  • User logged in: fly auth login (or FLY_API_TOKEN in .env)
  • App has a Dockerfile (FastAPI starter includes one) or a Fly-compatible build
  • Install this optional skill: vibeos skills install official/web-development/fly-deploy

How to Run​

From the app root (e.g. apps/api or a FastAPI starter):

# once per app
fly launch --no-deploy --name <app-name> --region <region>
# review fly.toml, then:
fly deploy 2>&1 | tee /tmp/fly-deploy.log
python3 scripts/parse_fly_deploy.py /tmp/fly-deploy.log

Resolve scripts/parse_fly_deploy.py to this skill’s absolute path. JSON fields: app, url, hostname, deployed.

Verify:

python3 …/browser-network-assert/scripts/assert_network.py \
--probe "$URL/health" --require-ok /health --max-5xx 0

Quick Reference​

StepCommand
Loginfly auth whoami
Launchfly launch --no-deploy
Secretsfly secrets set KEY=value
Deployfly deploy
Parse URLparse_fly_deploy.py
Healthassert_network.py --probe …/health

Procedure​

  1. Local health green; do not deploy broken apps.
  2. Prefer staging app name (*-staging) when unsure.
  3. Set secrets from .env.example keys the user provides — never invent.
  4. Capture deploy log; parse URL; probe health remotely.
  5. Report URL + health result.

Pitfalls​

  • Do not commit FLY_API_TOKEN.
  • Do not enable billing/scale surprises without asking.
  • Next.js on Fly needs a Node Dockerfile — FastAPI starter is the default path; for Next, add a production Dockerfile first or use another host.

Verification​

  • parse_fly_deploy.py exits 0 with "deployed": true.
  • Remote /health returns 2xx via assert_network.py.