Skip to content
Go to file

Latest commit


Git stats


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

This repository builds my static website ( The content is mostly written in Markdown and rendered using Nikola.

I use Docker to build an environment with all the requirements. The Docker container runs an SSH server so I can log in and run the build scripts. There are various references on the web that argue if you run SSHD in your Docker containers, you're doing it wrong. However, in this particular case it's quite convenient.

Build/run the docker container

host $ bash ./


host $ docker pull njgraham/


host $ bash ./

Edit site content

Use a text editor of your choice to edit files on the host (such as the main page, resume, etc.). Note that the resume is automatically converted to .docx and .pdf and links to download are added to the online resume page.

Update the Nikola configuration for things like Google Analytics, comment system, desired theme, etc.

Log in to the container via SSH and render the site (username: root, password: root)

host $ ssh root@localhost -p 2200
root@njginfo:~# cd /
root@njginfo:/ bash ./ 

Preview the site

root@njginfo:/ nikola serve

Then, visit http://localhost:8000.

Sync the site to Amazon S3

root@njginfo:/ bash ./

See also Hosting a Static Website on Amazon S3.


The rendered site is written to subdirectories of the repository directory on the host. On Linux hosts at least, these files are owned by root which can be inconvenient.


My website.




No releases published


No packages published
You can’t perform that action at this time.