--- title: Deploy a (Create) React App eleventyNavigation: key: Deploy a (Create) React App parent: Guides order: 1 --- An application designed with [React](https://reactjs.org/) is essentially made of static assets for its production part. If the development cycle uses Node.js HTTP server to serve the pages/views with all the comfort of the development tools (_hot-reloading_, etc.), it is not mandatory for its production. A simple web server](https://create-react-app.dev/docs/deployment) will do the trick: > Set up your favorite HTTP server so that a visitor to your site is served index.html, and requests to static paths > like /static/js/main.[hash].js are served with the contents of the /static/js/main.[hash].js file. ## On the _alwaysdata_ side Just create a [Static files](/en/docs/web-hosting/sites/http-servers/static-files) site pointing to the directory of your choice (e.g. `www/my-app`). ## On the development side Start by adding an entry in your `package.json` file [telling the build the final _URL_ of your project in production](https://create-react-app.dev/docs/deployment/#building-for-relative-paths), e.g.: ```json "homepage": "https://[account].alwaysdata.net/my-app" ``` In your local development environment, run the _build_ task. If you used a tool like [Create React App](https://create-react-app.dev) to bootstrap your project, it is available using the _npm_ task `npm run build`. This command will produce static assets in a `build` directory. You can then deploy these files resulting from the _build_ to the directory you specified earlier when you created the site, for example by using [_rsync/SSH_](/en/docs/web-hosting/remote-access/ssh) : ```sh rsync -rz --mkpath build/ [account]@ssh-[account].alwaysdata.net:www/my-app ```