Deploying Your App
The following explains the various options for deploying your Faust.js App to production.
Picking The Right Node.js Version
Faust.js supports supported versions of Node.js v16.0.0 or newer. The latest LTS version of Node.js is recommended and anything compatible with your Next.js version. Please make sure you are using a Node.js version that is compatible when deploying to avoid unexpected errors.
Faust.js uses the package.json
engines field that will produce warnings when your package is installed as a dependency under a non compatible NPM/Node version.
Building Your App
Since Faust.js is built on top of Next.js, it shares the same build process. For details on how Next.js generates optimized production builds, refer to the Next.js Build API documentation. Additionally, you can explore the Headless Platform framework guide for Next.js apps.
Deploying to WP Engine's Headless Platform
The Headless Platform is the most effortless way to deploy a Faust.js app. Connect your GitHub repo and Atlas will automatically build and deploy your Faust.js project on each push. Some of the benefits you get out of the box are:
- Automatic installation of required WordPress plugins (Faust, WPGraphQL, etc.)
- Automatic setup of Faust.js environment variables
- Automatic configuration of the Faust WordPress plugin’s settings
- WordPress and your headless app live in the same place
- Automatic rebuilds on code changes
- Support for custom domains
Deploy your Faust.js app and try for the Headless Platform for free!
For further reference, please check out the Headless Platform framework guide docs on Deploying Next.js.
If deploying from the WP Engine portal using your own repository (without beginning with a blueprint), you will need to set your environment variables manually. Learn how by taking a look at our platform docs.
Self Hosted
You can also self host Faust.js apps on any hosting provider that supports Node.js.
To self host your Faust.js app, you will need to first build the app, then start it. Make sure you have the faust build
and faust start
scripts specified in your package.json
file:
{
"scripts": {
"build": "faust build",
"start": "faust start"
}
}
Then, from the Node.js server run npm run build
to build the app and npm run start
to start it.
For reference, please visit the Next.js self-hosted deployment docs.