All skills
denoland avatar

/deno-deploy

@2311d69 official
by Denodenoland/skills99 stars
8

Use when deploying Deno apps to production, asking about Deno Deploy, or working with `deno deploy` CLI commands. Covers deployment workflows, environment variables, KV database access, custom domains, the --tunnel flag for local development, and the `deno deploy` command reference.

Use this Skill: https://skilld.dev/gh/denoland/skills/deno-deploy

This session only. Nothing lands on disk.

referencesDOMAINS.md

≈763 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Custom Domains

Default Domain

Every organization gets a default domain: your-org.deno.net

Apps are accessible at: your-app.deno.dev

Adding a Custom Domain

  1. Go to your organization's domains page in the Deno Deploy dashboard
  2. Click "Add Domain"
  3. Enter your domain (e.g., example.com or *.example.com for wildcards)
  4. Click "Add Domain" to see DNS configuration

DNS Configuration

You have three options for DNS setup:

Option 1: ANAME/ALIAS (Recommended)

Best option if your registrar supports ANAME or ALIAS records.

Record Type Name Value
ANAME/ALIAS @ <your-app>.deno.dev
CNAME _acme-challenge (provided in dashboard)

Option 2: CNAME

Works for subdomains (like api.example.com) but not for apex domains (like example.com).

Record Type Name Value
CNAME api <your-app>.deno.dev
CNAME _acme-challenge.api (provided in dashboard)

Option 3: A Record

Most compatible, works with any registrar.

Record Type Name Value
A @ (IP provided in dashboard)
CNAME _acme-challenge (provided in dashboard)

Note: IPv6 is not supported with the A record method.

Cloudflare Users

If using Cloudflare, disable proxying (turn off the orange cloud) on the _acme-challenge CNAME record. Proxying prevents certificate verification from completing.

SSL/TLS Certificates

Automatic Certificates (Recommended)

After DNS verification completes:

  1. Click "Provision Certificate" in the dashboard
  2. Let's Encrypt generates your certificate
  3. Certificates renew automatically

Bring Your Own Certificate

If you need a specific certificate:

  1. Upload your PEM-formatted certificate file
  2. Upload your private key file
  3. You must manage renewal - notifications arrive 14 days before expiration

Warning: Expired certificates cause your domain to stop working.

Assigning Domains to Apps

  1. Go to organization domains page
  2. Find your domain and click to edit
  3. Assign it to an application
  4. Remove assignments from app settings if needed

Troubleshooting

Issue Solution
Verification stuck Check DNS propagation (can take up to 48 hours)
Certificate won't provision Ensure _acme-challenge CNAME is correct and not proxied
IPv6 not working Use ANAME/ALIAS or CNAME instead of A record

Documentation

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill provides safe and standard reference guidelines and deployment documentation for the Deno Deploy CLI. It covers configuration files, environment variables, command references, and databases without introducing dangerous command scripts, malicious prompt adjustments, obfuscated paths, or external download vulnerabilities.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    9/9 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 2311d69. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 days ago.

Steadyupdated 2 months ago
metadata
{
  "author": "denoland",
  "version": "1.5"
}
  • CLI
  • deno
  • deno-deploy
  • deployment
  • environment-variables
  • kv
  • custom-domains
  • production

README badge

README badge for denoland/skills/deno-deploy

Guides deployment of Deno applications to Deno Deploy using the `deno deploy` CLI (requires Deno >= 2.4.2). Covers app creation, production and preview deploys, environment variables across contexts, KV database provisioning, and the `--tunnel` flag for local development.

Generated from the current SKILL.md.

Does this skill cover the deprecated `deployctl` command?
No. This skill uses only the modern `deno deploy` command (requires Deno >= 2.4.2). The `deployctl` command is deprecated and not covered.
Can I use this skill to deploy to other platforms like Vercel or AWS Lambda?
No. This skill applies only to Deno Deploy. For other platforms, use their platform-specific guidance directly.
What should I do if my app connects to a database at startup?
Create the app with `--no-wait`, provision and assign the database with `deno deploy database` commands, then redeploy so the database exists before warmup.
Do I need to add configuration to deno.json before deploying?
Only if you have an existing app on Deno Deploy. For new apps, `deno deploy create` sets up the config automatically. For subsequent deploys, `deno deploy --prod` uses the stored org and app names.
How do I set different environment variables for production and preview deployments?
Deno Deploy supports separate contexts: Production (live traffic), Development (previews), and Build (during builds). You can set different values for the same variable in each context using the CLI.

Generated from the current SKILL.md. These answers refresh after source changes.