Skip to content

p10ns11y/remix-app

Repository files navigation

Welcome to Remix!

Development

From your terminal:

npm run dev

This starts your app in development mode, rebuilding assets on file changes.

Deployment

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.

DIY

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/

Using a Template

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

Netlify Setup

  1. Install the Netlify CLI:
npm i -g netlify-cli
  1. Sign up and log in to Netlify:
  netlify login
  1. Create a new site:
  netlify init
  1. 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

Development

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.

Deployment

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