Deploy your Astro Site to Deno
This guide includes instructions for deploying to Deno Deploy through GitHub Actions or Deno Deploy’s CLI.
RequirementsSection titled Requirements
This guide assumes you already have Deno installed.
Project ConfigurationSection titled Project Configuration
Your Astro project can be deployed to Deno Deploy as a server-side rendered site (SSR). Deno Deploy does not support static sites.
Adapter for SSRSection titled Adapter for SSR
To enable SSR in your Astro project and deploy on Deno Deploy:
Add the Deno adapter to enable SSR in your Astro project with the following
astro add command. This will install the adapter and make the appropriate changes to your
astro.config.mjs file in one step.
If you prefer to install the adapter manually instead, complete the following two steps:
@astrojs/denoadapter to your project’s dependencies using your preferred package manager. If you’re using npm or aren’t sure, run this in the terminal:
astro.config.mjsproject configuration file with the changes below.
Next, Update your
package.jsonwith the change below.
You can now use this command to preview your production Astro site locally with Deno.
How to deploySection titled How to deploy
You can deploy to Deno Deploy through GitHub Actions or using Deno Deploy’s CLI (command line interface).
GitHub Actions DeploymentSection titled GitHub Actions Deployment
If your project is stored on GitHub, the Deno Deploy website will guide you through setting up GitHub Actions to deploy your Astro site.
Push your code to a public or private GitHub repository.
Sign in on Deno Deploy with your GitHub account, and click on New Project.
Select your repository, the branch you want to deploy from, and select GitHub Action mode. (Your Astro site requires a build step, and cannot use Automatic mode.)
In your Astro project, create a new file at
.github/workflows/deploy.ymland paste in the YAML below. This is similar to the YAML given by Deno Deploy, with the additional steps needed for your Astro site.
After committing this YAML file, and pushing to GitHub on your configured deploy branch, the deploy should begin automatically!
You can track the progress using the “Actions” tab on your GitHub repository page, or on Deno Deploy.
CLI DeploymentSection titled CLI Deployment
Install the Deno Deploy CLI.
Run your Astro build step.
In the command below, replace
<ACCESS-TOKEN>with your Personal Access Token and
<MY-DENO-PROJECT>with your Deno Deploy project name.
You can track all your deploys on Deno Deploy.
(Optional) To simplify the build and deploy into one command, add a
Then you can use this command to build and deploy your Astro site in one step.
📚 Read more about SSR in Astro.