Host a static site from your own computer with no hassle.
- Install NPM using the preferred method for your OS. Make sure to use the latest version of Node (
23.8as of 2/18/25). - From the root of the project, run
npm install. - Then do
npm run dev.
First, install Docker Desktop at https://docs.docker.com/get-started/get-docker/.
We use a Makefile to make common commands easy.
- Run local Jekyll build:
make dev-b- This will run the website locally and automatically reload any changes. you can access it from your browser at
localhost:4000.
- This will run the website locally and automatically reload any changes. you can access it from your browser at
- Run internet server:
make prod-b- This will build the static Jekyll app, and mount the Nginx server to the
_site/directory containing the bundled static files.
- This will build the static Jekyll app, and mount the Nginx server to the
Unfortunately, the easiest way to expose your local site to the internet is through a Cloudflare Tunnel. Ideally we would not lock into a single vendor, especially a megacorpo, but this is it for now!
The tunnel connects an isolated port on your computer to Cloudflare's network. Of course, to be on the web, you must buy and set up your domain credentials with both Cloudflare and whoever you bought it from. I suggest buying your domain name from Cloudflare for simplicity, but I have domains on Namecheap and GoDaddy as well.
- Click on Cloudflare Dashboard above.
- Click on the horizontal menu bars in the top left
- Scroll down and click on "Zero Trust"
- Again in the menu, click on "Networks" -> "Tunnels"
- Click the "Create a tunnel" button.
- Select Cloudflared.
- Name your tunnel something simple and relevant.
- Copy the connector command and get the token.
- Save the token to your
.envfileTUNNEL_TOKEN=<token>