On this page
Deploy an app with Deno Deploy
Deno Deploy allows you to host your Deno applications on a global edge network,with built in telemetry and CI/CD tooling.
This tutorial guides you through creating and deploying a simple Denoapplication using Deno Deploy.
PrerequisitesJump to heading
- AGitHub account
- Deno installedon your local machine
- ADeno Deploy account
Create a simple Deno application with ViteJump to heading
First, let's create a basic application with Vite, initialize a newVite project:
deno init--npm vite
Give your project a name and select your framework and variant. For thistutorial, we'll create a vanilla TypeScript app.
Change directory to your newly created project name withcd my-project-name
then run:
denoinstalldeno run dev
You should see a basic app running athttp://127.0.0.1:5173/.
You can edit themain.ts
file to see changes in the browser.
Create a GitHub repositoryJump to heading
Go toGitHub and create a new repository.
Initialize your local directory as a Git repository:
git initgitadd.git commit-m"Initial commit"
- Add your GitHub repository as a remote and push your code:
git remoteadd origin https://github.com/your-username/my-first-deno-app.gitgit branch-M maingit push-u origin main
Create a Deno Deploy organizationJump to heading
- Navigate toconsole.deno.com
- Click "+ New Organization"
- Select the 'Standard Deploy' organization type
- Enter an organization name and slug (this cannot be changed later)
- Click "Create Standard Deploy organization"
Create and deploy your applicationJump to heading
Click "+ New App"
Select the GitHub repository you created earlier
The app configuration should be automatically detected, but you can verifythese settings by clicking the "Edit build config" button:
- Framework preset: No preset
- Runtime configuration: Static Site
- Install command:
deno install
- Build command:
deno task build
- Static Directory:
dist
Click "Create App" to start the deployment process
Monitor your deploymentJump to heading
- Watch the build logs as your application is deployed
- Once deployment completes, you'll see a preview URL (typically
https://your-app-name.your-org-name.deno.net
) - Click the URL to view your deployed application!
Make changes and redeployJump to heading
Let's update the application and see how changes are deployed:
Update yourmain.ts
file locally:
import'./style.css'import typescriptLogofrom'./typescript.svg'import viteLogofrom'/vite.svg'import{ setupCounter}from'./counter.ts'document.querySelector<HTMLDivElement>('#app')!.innerHTML= `<div><a href="https://vite.dev" target="_blank"><img src="${viteLogo}"class="logo" alt="Vite logo"/></a><a href="https://www.typescriptlang.org/" target="_blank"><img src="${typescriptLogo}"class="logo vanilla" alt="TypeScript logo"/></a><h1>Hello from Deno Deploy!</h1><divclass="card"><button id="counter" type="button"></button></div><pclass="read-the-docs"> Click on the Vite and TypeScript logos to learn more</p></div>setupCounter(document.querySelector<HTMLButtonElement>('#counter')!)
- Commit and push your changes:
gitadd.git commit-m"Update application"git push
Return to your Deno Deploy dashboard to see a new build automatically start.Once the build completes, visit your application URL to see the update.
Explore observability featuresJump to heading
Deno Deploy provides comprehensive observability tools:
From your application dashboard, click "Logs" in the sidebar
- You'll see console output from your application
- Use the search bar to filter logs (e.g.,
context:production
)
Click "Traces" to view request traces
- Select a trace to see detailed timing information
- Examine spans to understand request processing
Click "Metrics" to view application performance metrics
- Monitor request counts, error rates, and response times
🦕 Now that you've deployed your first application, you might want to:
- Add a custom domain to your application
- Exploreframework support for Next.js,Astro, and other frameworks
- Learn aboutcaching strategies to improveperformance
- Set up differentenvironments fordevelopment and production