Developing a DocPad website and deploying it to an Ubuntu server

January 18, 2015

Lately, I’ve been doing a lot of development in Node.js and decided I was going to change my website over to a Node.js-powered tool. I was looking for something lightweight, simple, and optimized for developers.

My experience with DocPad

After a bit of research, I opted to try Docpad, an open-source static site generator built using Node.js. This tool is a pretty good tool for developers, allowing you to author your content in Markdown format and generate static HTML files. I opted for a database-free installation, so all of my site’s content can be checked into version control as text files that are later generated into HTML on the server.

There are many plugins available to extend the basic functionality of a DocPad site, including front-end frameworks, and integration with the build tools you already love, like CSS preprocessing with Less, Sass, and Stylus, JavaScript preprocessing, and HTML templating engines.

There are still a few quirks with it, and, from my experience, and that of others, performance during development can be slow or come to a halt (i.e. file watching and re-rendering)—and this problem grows as your site does—but it works for small, low-maintenance sites. I would not personally use it for enterprise or client sites—unless your client’s site will be very small and they will be completely hands-off—but it’s a great, open-source tool with a good amount of plugins available for commonly desired functionality and build tools. At the time of this article, DocPad is actively being maintained.

I think DocPad is in its early stages and has a lot of potential to be a great tool for developer websites provided that the performance kinks get worked out.

Serving a DocPad website on Ubuntu

Ubuntu is my operating system of choice when it comes to serving a website.

Digital Ocean is an affordable VPS platform with plans as low as $5 per month with 512 MB of RAM and 20 GB of storage on a solid-state drive. A LAMP stack would require the next plan up to run reliably but the $5 plan works great for a static site with minimal dynamic functionality.

I wrote a tutorial for Digital Ocean that provides step-by-step instructions on deploying a DocPad website to Ubuntu.

If you are interested in learning how to serve a DocPad website on an Ubuntu VPS, please see the tutorial article How to Deploy a DocPad Application on Ubuntu.