Skip to content

Commit edbd88b

Browse files
authored
Update README.md
1 parent a4a8363 commit edbd88b

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ Want to install quickly? Use the [CLI](https://github.com/reactql/cli) - it does
3434
- Full route-aware [server-side rendering (SSR)](https://reactql.org/docs/ssr) of initial HTML
3535
- Universal building - both browser + Node.js web server compile down to static files
3636
- Per-request Redux stores. Store state is dehydrated via SSR, and rehydrated automatically on the client
37-
- HTTP header hardening with [Helmet for Koa](https://github.com/venables/koa-helmet)
3837
- Declarative/dynamic `<head>` section, using [react-helmet](https://github.com/nfl/react-helmet)
3938
- Full page React via built-in `<Html>` component - every byte of your HTML is React!
4039
- Run plain HTTP and SSL from the same port - just `config.enableSSL(sslOptions)` in your app code
@@ -44,6 +43,7 @@ Want to install quickly? Use the [CLI](https://github.com/reactql/cli) - it does
4443
- [Hot code reloading](http://gaearon.github.io/react-hot-loader/); zero refresh, real-time updates in development
4544
- React + Redux state preservation on hot reloading, to avoid interrupting your dev flow
4645
- [Development web server](https://reactql.org/docs/setup#development) that automatically rebuilds and restarts on code changes, for on-the-fly SSR testing with full source maps
46+
- Hot code reload works inside Docker too! Just `docker-compose -f docker-compose.dev.yml`
4747

4848
### Code optimisation
4949

@@ -70,19 +70,22 @@ Want to install quickly? Use the [CLI](https://github.com/reactql/cli) - it does
7070
- Add GET|POST|PUT|PATCH|DELETE routes - auto-injected with Koa context and the per-request Redux store
7171
- Add a custom 404 handler
7272
- Enable/disable POST body parsing, along with custom options
73+
- Enable/disable HTTP hardening
74+
- Mount your front-end assets anywhere (like a CDN) with a dynamic `<base>` tag handling ([React Helmet](https://github.com/nfl/react-helmet) compatible)
7375

7476
### Production-ready
7577

7678
- [Production bundling](https://reactql.org/docs/bundling/production), that generates optimised server and client code
7779
- [Static bundling mode](https://reactql.org/docs/bundling/static) for hosting your full app on any static host -- Github pages, S3, Netlify, etc
7880
- [Static compression](https://webpack.js.org/plugins/compression-webpack-plugin/) using the [Zopfli Gzip](https://en.wikipedia.org/wiki/Zopfli) and [Brotli](https://opensource.googleblog.com/2015/09/introducing-brotli-new-compression.html) algorithms for the serving of static assets as pre-compressed `.gz` and `.br` files (default `vendor.js.bz` goes from 380kb -> 89kb!)
81+
- Automatic HTTP hardening against common attack vectors via [Koa Helmet](https://github.com/venables/koa-helmet) (highly configurable)
7982
- Easily extendable [webpack-config](https://fitbit.github.io/webpack-config/) files, for modular Webpack tweaks
8083
- [Docker](https://www.docker.com/) support, with an optimised `Dockerfile` out-the-box
8184

8285
### Developer support
8386

8487
- [ESLint v3](http://eslint.org/)ing based on a tweaked [Airbnb style guide](https://github.com/airbnb/javascript)
85-
- [Jest](https://facebook.github.io/jest/) test runner
88+
- React and Babel compatible [Jest](https://facebook.github.io/jest/) test runner, pre-configured
8689
- [Node Inspector](https://nodejs.org/en/docs/inspector/) support for SSR in dev mode - remotely debug the server, set breakpoints, inspect the stack from within Chrome
8790
- Tons of code commentary to fill you in on what's happening under the hood
8891
- Extensive, up-to-date [online documentation](https://reactql.org/docs/)
@@ -104,7 +107,7 @@ Then run `npm start` in the project root, and away you go!
104107

105108
## Docker
106109

107-
A [Dockerfile](https://github.com/reactql/kit/blob/master/Dockerfile) is included, that will build, optimise and bundle a production-mode ReactQL web server, your static assets and client-side code -- making it trivial to deploy to production.
110+
An Alpine-based [Dockerfile](https://github.com/reactql/kit/blob/master/Dockerfile) is included, that will build, optimise and bundle a production-mode ReactQL web server, your static assets and client-side code -- making it trivial to deploy to production.
108111

109112
Build as normal with:
110113

@@ -116,6 +119,13 @@ Then run with:
116119

117120
Navigating to http://<docker_host>:4000 will yield the ReactQL project code.
118121

122+
You can also run with Docker Compose:
123+
124+
`docker-compose -f docker-compose.dev.yml up`
125+
126+
This will build and spawn a development environment on ports 8080 and 8081. Just like your local dev environment, both browser hot code reloading and SSR auto-restarting will work on local code changes -- even inside the Docker stack!
127+
128+
(You can also spawn a production-grade environment with `docker-compose up`, using the default [docker-compose.yml](https://github.com/reactql/kit/blob/master/docker-compose.yml))
119129

120130
# Follow @reactql for updates
121131

0 commit comments

Comments
 (0)