gutenberg.run is a service which provides temporary live preview sites for Gutenberg pull requests.
Docker (with Docker Compose) is the only requirement to run Gutenberg Run locally.
After cloning the repository, run docker-compose up
in the cloned directory.
git clone https://github.com/aduth/gutenberg.run.git
cd gutenberg.run
docker-compose up
By default, Gutenberg Run assumes a development environment.
Since Gutenberg Run provisions new sites using randomized subdomains, you should configure wildcard DNS handling to develop locally.
If you're developing using macOS, dnsmasq
is ideal for this. With Homebrew installed, you can follow guidance from this article, where the steps for this project should look something like:
brew install dnsmasq # Install dnsmasq
echo "address=/.gutenberg.run.test/127.0.0.1" >> /usr/local/etc/dnsmasq.conf # Configure dnsmasq to redirect gutenberg.run.test subdomains to localhost
sudo brew services start dnsmasq # Start dnsmasq process
sudo mkdir -p /etc/resolver # Create resolvers directory for macOS DNS query overrides
sudo sh -c 'echo "nameserver 127.0.0.1" > /etc/resolver/gutenberg.run.test' # Configure gutenberg.run.test DNS query behavior
The following options exist, configured by the presence of environment variables.
NODE_ENV
: Application running mode, one ofdevelopment
orproduction
(defaultdevelopment
)BASE_HOSTNAME
: The base hostname for containers (defaultgutenberg.run.test
)MYSQL_ROOT_PASSWORD
: Password to use as root for the MySQL database (defaultpassword
)CONTAINER_TTL_SECONDS
: Container lifetime, in seconds (default86400
)SENTRY_DSN
: Sentry data source name, when using Sentry for error loggingBUILD_TTL_DAYS
: The length in time to keep built archives after last provision, in days (default30
)
You can assign values to these by creating a .env
file at the root of the project directory, or as a persistent user or system environment variable.
If you have followed the installation instructions using Git, you can pull the latest changes from the working directory:
git pull
Regardless whether there are containers actively running, you will likely need to rebuild the images. You can (re)start the containers with rebuild using the following command:
docker-compose up -d --build
If you know a specific image(s) to rebuild, simply append it to the previous command:
docker-compose up -d --build cleaner web
Copyright 2019 Andrew Duthie
Released under the MIT License.