Develop & Build GatsbyJS static sites within a Docker container.
- 🚮 Clutter-free host machine: No need to install Node/Gatsby/Webpack/etc on your host machine! Only Docker required (tested on
v17.12.0
). - 🏗 Easy setup: Automatic GatsbyJS site initializion with
gatsby-starter-default
(unless already initialized) - 👍 Simple CLI API:
develop
/stage
/build
- 🆕 Recent NodeJS: Container based on NodeJS
v9.5
running in Alpine Linux - 📃 MIT-licensed
NOTE: Your GatsbyJS site will be created into $(pwd)/site
automatically.
Add these to your .gitignore
:
site/node_modules
site/public
site/.cache
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker new
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker new https://github.com/justinformentin/gatsby-v2-tutorial-starter
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker develop
In other words, build and serve:
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker stage
Builds production ready site into site/public
:
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker build
docker run -it --rm -v $(pwd)/site:/site -p 8000:8000 aripalo/gatsby-docker <YOUR-COMMAND-HERE>
For example to install a new NPM-module: docker run -it --rm -v $(pwd)/site:/site aripalo/gatsby-docker yarn add gatsby-transformer-yaml
sudo pip3 install git+https://github.com/mjroson/gatsby-docker
- Installed docker and can use docker with your current user
- Python 3 and pip3 installed
mkdir blog
cd blog
gatsbyjs new https://github.com/justinformentin/gatsby-v2-tutorial-starter
# chose npm
gatsbyjs develop
- Support for use more params to gatsby's commands
- Support for all operative systems (currently only supports linux)