This adapter allows Astro to deploy your SSR site to Netlify.
Learn how to deploy your Astro site in our Netlify deployment guide.
Why Astro NetlifySection titled Why Astro Netlify
If you’re using Astro as a static site builder—its behavior out of the box—you don’t need an adapter.
If you wish to use server-side rendering (SSR), Astro requires an adapter that matches your deployment runtime.
Netlify is a deployment platform that allows you to host your site by connecting directly to your GitHub repository. This adapter enhances the Astro build process to prepare your project for deployment through Netlify.
InstallationSection titled Installation
Add the Netlify 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:
Install the Netlify adapter to your project’s dependencies using your preferred package manager. If you’re using npm or aren’t sure, run this in the terminal:
Add two new lines to your
astro.config.mjsproject configuration file.
Edge FunctionsSection titled Edge Functions
Netlify has two serverless platforms, Netlify Functions and Netlify’s experimental Edge Functions. With Edge Functions your code is distributed closer to your users, lowering latency. You can use Edge Functions by changing the
netlify/functions import in the Astro config file to use
UsageSection titled Usage
Now you can deploy. Install the Netlify CLI and run:
ConfigurationSection titled Configuration
To configure this adapter, pass an object to the
netlify() function call in
astro.config.mjs - there’s only one possible configuration option:
We build to the
dist directory at the base of your project. To change this, use the
And then point to the dist in your
binaryMediaTypesSection titled binaryMediaTypes
This option is only needed for the Functions adapter and is not needed for Edge Functions.
Netlify Functions requires binary data in the
body to be base64 encoded. The
@astrojs/netlify/functions adapter handles this automatically based on the
We check for common mime types for audio, image, and video files. To include specific mime types that should be treated as binary data, include the
binaryMediaTypes option with a list of binary mime types.
ExamplesSection titled Examples
The Astro Netlify Edge Starter provides an example and a guide in the README.
Browse Astro Netlify projects on GitHub for more examples!
TroubleshootingSection titled Troubleshooting
For help, check out the
#support channel on Discord. Our friendly Support Squad members are here to help!
You can also check our Astro Integration Documentation for more on integrations.
ContributingSection titled Contributing
This package is maintained by Astro’s Core team. You’re welcome to submit an issue or PR!
ChangelogSection titled Changelog
See CHANGELOG.md for a history of changes to this integration.