Deploying your app
gy deploy is the only command you need to ship. It auto-detects your stack, generates a
Dockerfile when one is missing, builds, uploads, and deploys.
The basics
Section titled “The basics”# Deploy from the current directorygy deploy
# Deploy a specific directorygy deploy ./my-app
# Interactive guided setupgy deploy --wizardAliases: gy d, gy push, gy up.
What gy deploy detects
Section titled “What gy deploy detects”| Type | Detector | Example frameworks |
|---|---|---|
| Node.js | package.json |
Next.js, Express, Vite, Nuxt |
| Python | requirements.txt, pyproject.toml |
Django, Flask, FastAPI, Streamlit |
| Go | go.mod |
Gin, Fiber, Echo, Chi |
| Rust | Cargo.toml |
Any Cargo project |
| Static | index.html |
Plain HTML |
| Docker | Dockerfile |
Your own container |
| Flag | Description |
|---|---|
-n, --name |
App name (defaults to the directory name) |
-p, --project |
Project name (auto-created if new) |
--port |
Port your app listens on (auto-detected) |
--tier |
Resource tier: t1, t2, or t3 (default t1) |
--domain |
Custom domain (empty = auto-generated) |
--public |
Make the app publicly accessible (default true) |
--dockerfile |
Path to a Dockerfile (auto-generated if absent) |
-w, --wizard |
Interactive guided setup |
--no-ai |
Disable AI-assisted detection |
--ai-key |
GenAI API key for AI-assisted detection (or set GY_AI_KEY) |
--json |
Emit structured JSON output |
Examples
Section titled “Examples”# Name the app and pick a tiergy deploy --name "my-cool-api" --tier t2
# Deploy into a specific projectgy deploy --project team-ops
# Explicit portgy deploy --port 8080
# Deploy a directory with a script-friendly JSON resultgy deploy ./backend --jsonThe .gy.json file
Section titled “The .gy.json file”After a successful deploy, gy writes a .gy.json file to your project:
{ "app": "my-cool-api", "project": "default", "port": 3000, "publicAccess": true, "tier": "t1", "env": { "DATABASE_URL": "postgres://…" }}It contains no UUIDs — everything uses friendly names, and the CLI resolves identifiers internally. Commit it so teammates and CI can use the same app.
Re-deploying
Section titled “Re-deploying”Run gy deploy again any time. gy reads .gy.json, targets the same app, and ships your
changes.