From your terminal:
npm run dev
This starts your app in development mode, rebuilding assets on file changes.
First, build your app for production:
npm run build
Then run the app in production mode:
npm start
Now you'll need to pick a host to deploy it to.
If you're familiar with deploying node applications, the built-in Remix app server is production-ready.
Make sure to deploy the output of remix build
build/
public/build/
When you ran npx create-remix@latest
there were a few choices for hosting. You can run that again to create a new project, then copy over your app/
folder to the new project that's pre-configured for your target server.
cd ..
# create a new project, and pick a pre-configured host
npx create-remix@latest
cd my-new-remix-app
# remove the new project's app (not the old one!)
rm -rf app
# copy your app over
cp -R ../my-old-remix-app/app app
- Install the Netlify CLI:
npm i -g netlify-cli
- Sign up and log in to Netlify:
netlify login
- Create a new site:
netlify init
- You'll need to tell Netlify to use Node 14, as at the time of writing Netlify uses Node 12 by default
netlify env:set AWS_LAMBDA_JS_RUNTIME nodejs14.x
You will be running two processes during development when using Netlify as your server.
- Your Netlify server in one
- The Remix development server in another
# in one tab
$ npm run dev:netlify
# in another
$ npm run dev
Open up http://localhost:3000, and you should be ready to go!
If you'd rather run everything in a single tab, you can look at concurrently or similar tools to run both processes in one tab.
There are two ways to deploy your app to Netlify, you can either link your app to your git repo and have it auto deploy changes to Netlify, or you can deploy your app manually. If you've followed the setup instructions already, all you need to do is run this:
$ npm run build
# preview deployment
$ netlify deploy
# production deployment
$ netlify deploy --prod