Home » Ruby » Connect to a locally built Jekyll Server using mobile devices in the LAN

Connect to a locally built Jekyll Server using mobile devices in the LAN

Posted by: admin November 30, 2017 Leave a comment

Questions:

After using jekyll serve on one machine, a WEBrick server is set up and the site can be accessed from localhost:4000 on this particular PC.

However, I’m wondering how to access this web server from other machines in the LAN, especially for mobile devices? I’m trying to test the jekyll site on mobile devices before pushing the code to Github.

Answers:

Try jekyll serve --host=0.0.0.0 when you invoke Jekyll on the command line.

That will make Jekyll’s HTTP server bind to all available IPs, rather than just to localhost.

You can also add this to your _config.yml with host: 0.0.0.0. GitHub will simply ignore this when you push, so it’s safe to use if you don’t mind having your work openly accessible on your network.


Without --host=0.0.0.0 Jekyll will output something like this when you start up:

$ jekyll serve
[...]
Server address: http://127.0.0.1:4000/
Server running... press ctrl-c to stop.

But with --host=0.0.0.0 (or host: 0.0.0.0 in _config.yml) you’ll notice that it’s listening on all interfaces (represented by 0.0.0.0) rather than just listening on the loopback interface (represented by 127.0.0.1)

$ jekyll serve --host=0.0.0.0
[...]
Server address: http://0.0.0.0:4000/
Server running... press ctrl-c to stop. 

Questions:
Answers:

Assuming your mobile device is connected to the same LAN as your development machine.

  1. Assertain the LAN IP address of your development machine. Usually something like: 192.168.0.XXX. Where .XXX is the unique last 3 digits of your dev machine’s LAN IP.

  2. Point your mobile device’s web browser to: http://192.168.0.XXX:4000

That’s how I do it on my laptop and iPhone for Jekyll dev.