Back to skills
SKILL.md
Flyio Hello World
ASecurity'Deploy your first app to Fly.io with flyctl launch and the Machines API. Use when starting a new Fly.io project, deploying a container globally, or testing edge compute deployment. Trigger: \"fly.io hello world\", \"fly launch\", \"deploy to fly.io\", \"first fly app\". '
- 3 stars
- 0 votes
- 0 copies
- 3 views
- Added September 12, 2026
Works with
Security analysis
96/100- Uses curl or wget to download content
npx -y skills add thedixitjain/the-mega-skill-library --skill flyio-hello-world --agent claude-codeAre you the author of Flyio Hello World?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-flyio-hello-world)---
name: flyio-hello-world
description: "'Deploy your first app to Fly.io with flyctl launch and the Machines API. Use when starting a new Fly.io project, deploying a container globally, or testing edge compute deployment. Trigger: \"fly.io hello world\", \"fly launch\", \"deploy to fly.io\", \"first fly app\". '"
allowed-tools: "Read, Write, Edit, Bash(fly:*), Bash(curl:*), Bash(docker:*)"
category: devops-and-infra
source_repo: jeremylongshore/claude-code-plugins-plus-skills
source_path: "plugins/saas-packs/flyio-pack/skills/flyio-hello-world/SKILL.md"
source_url: https://github.com/jeremylongshore/claude-code-plugins-plus-skills/blob/HEAD/plugins/saas-packs/flyio-pack/skills/flyio-hello-world/SKILL.md
---
# Fly.io Hello World
## Overview
Deploy a minimal app to Fly.io using `fly launch`. Fly.io runs Docker containers on Firecracker microVMs across 30+ regions worldwide. Two paths: `flyctl` CLI (simple) or Machines API (programmatic).
## Instructions
### Step 1: Launch with flyctl
```bash
# Create a new directory with a Dockerfile
mkdir fly-hello && cd fly-hello
cat > Dockerfile << 'EOF'
FROM node:20-alpine
WORKDIR /app
COPY server.js .
EXPOSE 3000
CMD ["node", "server.js"]
EOF
cat > server.js << 'EOF'
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({
message: 'Hello from Fly.io!',
region: process.env.FLY_REGION,
app: process.env.FLY_APP_NAME,
}));
});
server.listen(3000, () => console.log('Listening on :3000'));
EOF
# Launch — creates app, generates fly.toml, deploys
fly launch --name hello-fly --region iad --now
```
### Step 2: Verify Deployment
```bash
# Check status
fly status
# Open in browser
fly open
# View logs
fly logs
# Test with cURL
curl https://hello-fly.fly.dev/
# {"message":"Hello from Fly.io!","region":"iad","app":"hello-fly"}
```
### Step 3: Deploy via Machines API
```typescript
const FLY_API = 'https://api.machines.dev';
const headers = {
'Authorization': `Bearer ${process.env.FLY_API_TOKEN}`,
'Content-Type': 'application/json',
};
// Create an app
const app = await fetch(`${FLY_API}/v1/apps`, {
method: 'POST',
headers,
body: JSON.stringify({
app_name: 'hello-api',
org_slug: 'personal',
}),
}).then(r => r.json());
// Create a machine in the app
const machine = await fetch(`${FLY_API}/v1/apps/hello-api/machines`, {
method: 'POST',
headers,
body: JSON.stringify({
region: 'iad',
config: {
image: 'nginx:alpine',
services: [{
ports: [{ port: 443, handlers: ['tls', 'http'] }],
protocol: 'tcp',
internal_port: 80,
}],
guest: { cpu_kind: 'shared', cpus: 1, memory_mb: 256 },
},
}),
}).then(r => r.json());
console.log(`Machine ${machine.id} created in ${machine.region}`);
```
## Output
```
Machine e784079f004d86 created in iad
App URL: https://hello-api.fly.dev
```
## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| `No machines in group` | App exists but no machines | Run `fly deploy` or create via API |
| `Could not find image` | Docker build failed | Check Dockerfile, run `docker build .` locally |
| `Region not available` | Invalid region code | Use `fly platform regions` to list valid codes |
| `Insufficient resources` | Org quota reached | Check `fly orgs show` or upgrade plan |
## Resources
- [Fly Launch](https://fly.io/docs/reference/fly-launch/)
- [Deploy an App](https://fly.io/docs/launch/deploy/)
- [Machines API](https://fly.io/docs/machines/api/machines-resource/)
## Next Steps
Proceed to `flyio-local-dev-loop` for development workflow setup.
---
**Source:** [`jeremylongshore/claude-code-plugins-plus-skills`](https://github.com/jeremylongshore/claude-code-plugins-plus-skills) → `plugins/saas-packs/flyio-pack/skills/flyio-hello-world/SKILL.md`
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.