Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


The purpose of this repository is to create a series of Docker containers, orchestrated with Docker Compose, to deploy a Gatsby website and serve the website over clearnet (nginx), Tor, and IPFS, simultaneously.

The network syndication can be customized any way. e.g. It's possible to turn off clearnet and IPFS syndication, and just serve the website over Tor. Any combination is possible.

The build and deployment is started by running the shell script. This script is intended to be executed by a webhook, triggered from GitHub, by pushing to the master branch of the Gatsby website repository.

This app is customized by creating and editing a shells script in the config directory. This file is called by

A walk through video of how to install and use these Docker containers is available:


First, install Docker:

sudo apt-get install -y software-properties-common
curl -fsSL -o && sh
sudo usermod -aG docker ${USER}

Note: You'll need to log out and back in after installing Docker.

Second, install Docker Compose:

sudo curl -L`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Third, copy the shell script to a new file, and customize the values in the file.


This repository is now ready to be deployed by a webhook. The webhook should trigger execution of the script. That will build and deploy the containers, which will download and build the Gatsby site. webhook-cli works well, and has examples for GitHub.

This back end web server is intended to be paired with this front end Gatsby Template. A live version of that template can be found at

Not all containers need to run, and not all ports need to be exposed. For example, you could refrain from exposing the clear web to the world via NGINX port 80, and just serve the website over Tor and IPFS.

If censorship is a concern, other people can pin the IPFS hash to help syndicate your website. The IPFS is automatically written to the BCH blockchain using the protocol, which allows it to be searched for and easily syndicated.


Docker containers to download, compile, and serve a Gatsby site over clear web, Tor, and IPFS






No releases published


No packages published