I thought it would be interesting to list out some of the technologies that run I wonder how similar my setup is to others and any recommendations people have on improving it.


The infrastructure that runs is housed in a massive dedicated data center in Brisbane. And by massive data center, I actually mean my apartment. Next to the TV in my living room is a black desktop that used to be a media center, until I installed Windows Server 2008 on it and started using it as a server. It's a quad core AMD Phenom, 64-bit, with 6 GB RAM. The machine is still connected to the TV via HDMI - if I need to change anything, I use my remote control to flip to HDMI 2 and use a wireless keyboard to log into the machine. I also tend to notice when the machine is offline since the room becomes a little quieter :)

The other hardware that makes it all happen is a wireless ADSL model from iiNet, and a 1 TB external hard disk that I use for backup. The internet comes through an iiNet business plan (business 3), which gives me upload speeds as fast as download speeds and a static IP address. I tend to get fast response times in Australia but I'm not sure what the experience is like overseas.

Source Control

All of my source code is kept in Subversion, at It's actually the Visual SVN server, running on a local IP address of Since I only have one external IP address, I have IIS 7 acting as a reverse proxy to the Visual SVN server (which is really just Apache) based on host name.


When I check code into source control, it's built automatically using JetBrains TeamCity, at Unfortunately since some of my builds make use of TeamCity's parameter system for passing information like passwords to builds, I can't make the build server public (I'd love some tips on parameterizing the builds safely so I can open it up).

The TeamCity build dashboard

It might seem overkill to have a build server at home, but one of the niceties is that I can check in a change for Magellan or PaulPad (below), and the build server can build it, run the tests and deploy it for me - everything is automated, which means I'm more likely to make small changes.


The site that you are looking at is a custom built Wiki+Blog engine that I wrote in a couple of weeks (after 6 months procrastinating) called PaulPad. The source code to PaulPad is also under Subversion. PaulPad was written ASP.NET MVC using NHibernate and a splash of jQuery. The content is composed using Markdown, and I use the reverse engineered WMD editor for composing the posts. I use Prettify for code highlighting because it allows me to keep the markup perfectly clean and the highlighting is done automatically. Comments are sent to Akismet for spam checking.

One of my favourite PaulPad features, apart from the clean markup, is that I can selectively publish page edits to an RSS feed when editing a page. For example, if I publish something, and correct a mistake a few minutes later, it will appear in the current feed. But in 6 months time, if I overhaul the page, I can "re-publish" it back to the feed so it appears in RSS readers again. That makes the blog+wiki concept really work for me.

File Server

When my TeamCity build server produces builds, I wanted to make them available via a page that simply showed files off the file system. However, the default IIS file list pages look a little ugly for me. So I created FileServer, which is the engine behind


I use the SmarterStats package for web statistics. It's installed at, but there doesn't seem to be a way to make it public without giving everyone a login. I love that it's written in ASP.NET and the graphs use Silverlight. It also just looks nice. It's a shame my only visitor is my Mum :)

My SmarterStats dashboard for the last 7 days

To make the statistics more accurate, I send a 1x1px tracking image with all of the RSS feed entries that I serve up. The images all point to "/(page-name)/via-feed", which allows me to see pretty accurately how many people read my content via feeds as opposed to viewing the pages directly. I'd like to know if anyone thinks this is dishonest.


It's not that I don't trust myself, but, I have a habbit of monkeying around with my server, which impacts the general uptime. I try to keep it to a limit, and I use to give me statistics about my uptime. Pingdom can also SMS me when the site is down, but given that the computer is in my lounge, I usually know when it's down, and if I'm not home I'm probably unlikely to fix it.

You can see the Pingdom graphs online:


This is about the only thing I don't host myself. I use Google Apps to handle mail.


Given how half-baked this whole setup is, I figure I should at least have a good backup system. I use MozyPro to upload all content, database backups, and Subversion stores as soon as changes are made and also during a nightly backup process. I also use MozyPro on my laptop.

I also use a 1 TB external hard drive, and a scheduled task in Windows to robocopy a set of folders to the drive. It's really a "just in case" should the internet go down while I'm out of town, and it's also just nice to have more backups.

For the database I've setup a maintenance task that backs up all databases every four hours and ships them to a folder to be backed up by Mozy. I recently had to restore a backup from Mozy for the database after, well, I screwed up :) The backup worked well, so it's nice to know I can rely on it. I should probably make a point to test my backups more often.


In the past I have used shared web hosting, virtual machine hosting and dedicated hosting with a few different providers, but I always missed the kind of control I wanted. Even with dedicated hosting, the thought of having to remote desktop into the servers usually put me off, not to mention the costs. Hosting it all in house was very worthwhile, and given my Pingdom uptime of 97% I'm pretty happy with the reliability.

Something I'm very proud of is that there isn't a single line of PHP or Perl on my setup - it's all .NET (with a little Apache and Java). In fact PaulPad's best feature is that it isn't Wordpress :)

The Subversion and Team City combination works really well together, and because everything is on the LAN it is very fast. I notice my workflow at home is very different to my workflow at work. Here's my build log from TeamCity when I was working on Magellan:

TeamCity build log

What other services should I try? What are some alternatives that you prefer?

A picture of me

Welcome, my name is Paul Stovell. I live in Brisbane and work on Octopus Deploy, an automated deployment tool for .NET applications.

Prior to founding Octopus Deploy, I worked for an investment bank in London building WPF applications, and before that I worked for Readify, an Australian .NET consulting firm. I also worked on a number of open source projects and was an active user group presenter. I was a Microsoft MVP for WPF from 2006 to 2013.

Greg D
Greg D
08 Dec 2009

I just wanted to let you knew that the response times are perfectly acceptable from cloudy Cleveland Ohio, USA. :)

09 Dec 2009

I was just wondering what internet connection you are using, when I came to know that you've hosted your website personally in your own computer at home. Great to see that iiNet is giving great plans :)

Great config and good maintenance.

09 Dec 2009

Very cool. I always love to see people's setups to see what I am missing out. I also run my websites off my own "home" server. I also have my own SVN up and running. I don't quite have the build server going (though that is next on my list after I upgrade to Server 2008 R2).

Very nice website too. Very clean and easy on the eyes.

19 Dec 2009

I do like your solution for tracking stats of RSS readers. I use GA on my website but it doesn't cover people who are subscribed to my feed.

How are you serving the image? Via a HttpHandler?

20 Dec 2009

Just out of curiosity, are you pretty settled at your current accommodation? (E.g. long-term lease or owning?)

I'm currently renting an apartment and would like to set up my own web server, but I'm worried about my website going down if my lease ends and isn't renewed.

20 Dec 2009

@Jonathan, I'm renting, I have a 12 month lease but I do have a similar concern. I figure I can upload the content to another server manually, move the machines, and bring it all back online after a couple of weeks when broadband is sorted out.

22 Mar 2010

pay the $5 a month and get a shared hosting account :)

Joshua McKinney
Joshua McKinney
19 Aug 2010

Note, PaulPad is now FunnelWeb and hosted on Google Code at