⏳ In progress
Real world progressive web application starter-kit running with an Ingress controller, a Nginx reverse proxy and pm2 on production:
🌍 ➡️ Ingress
➡️ Nginx
➡️ App
docker
kubernetes
nginx
pm2
redis (sessions storage)
express
mysql
graphql
webpack
react
redux
redux-saga
firebase
workboxjs
Development | Production | |
---|---|---|
Hot Module Replacement | ⭐ | |
GraphiQL | ⭐ | |
Code Split + Async Components | ⭐ | ⭐ |
Server Side Rendering | ⭐ | ⭐ |
Service Worker (precache, offline) | ⭐ | |
Long term caching | ⭐ | |
Minify + gzip | ⭐ |
$ git clone [email protected]:hrasoa/react-pwa.git app
$ cd app/docker
$ docker-sync start
# init the db instance
$ docker-compose run --rm db
# in a new tab stop the containers after finished
$ docker stop $(docker ps -q --filter "ancestor=mysql")
# install the app
$ docker-compose run --rm --no-deps app yarn
# run
$ docker-compose up
Visit http://localhost:8001
Running the production build:
$ docker-compose run --rm --no-deps app npm run build:production
$ docker-compose -f docker-compose.yml -f production.yml up
This app will work out of the box on Google Cloud Platform with Jenkins CI Multi-branch Pipeline, more information in the Jenkinsfile.
You can follow this tutorial to setup your continuous delivery pipeline.