I chose DigitalOcean as the hosting for the service. It’s cheap and seems to be very robust. I’m using it for both this site (DerickBailey.com) and WatchMeCode, both with separate server instances. John Sonmez says that he runs around 100,000 visits a month from the $10/mo server with DigitalOcean. I believe it. I also set up the $10/mo platform, using Ubuntu
I’m served up about 5,000 views during my launch week for WatchMeCode, and here are my stats for bandwidth, disk and CPU usage for that week.
As you can see launch day had a MASSIVE spike in CPU at 4.89% … this is definitely a rock-solid setup. I highly recommend DigitalOcean for a setup like this.
WordPress + StudioPress
The core of the site is built on top of WordPress. I’ve used WordPress in the past, but not extensively. To get me rolling, I used John Sonmez screencast on how to set up a WordPress blog with DigitalOcean, from his How To Market Yourself As A Developer course. I know there are plenty of blog posts and other things out there, but this was a resource I had and I was able to follow it step by step to get everything done.
In addition to WordPress, I chose to buy a theme from StudioPress. After doing some research, I found the Genesis framework to be particularly appealing. It adds a lot of things that I want to a core WordPress install, and makes it easy to buy custom themes that can be further customized very easily.
The site design and content are managed through pages and blog posts for the most part, with a few things being hard coded in to Text widgets – but not much.
Restricting Content To Subscribers
To manage subscribers for the site, and to allow me to easily show and hide content for subscribers vs non-subscribers, I chose Restrict Content Pro. Through a simple set of short codes, combined with various settings on each individual post and page, I can restrict what content shows up in the RSS feed, show certain things to subscribers and other things to non-subscribers, and easily customize the way this works.
I bought the big $ package of RCP so that I could get the Stripe integration, and it was well worth the extra money. Paypal is nice, and a lot of my subscribers use Paypal. But I really do prefer Stripe.
Hosting And Playing Video
The majority of my videos are hosted via Amazon S3. I bought the S3 Media Maestro plugin to handle these (you can see the “s3video” short code in the above screen shot). S3MM also gives me the file download links.
This is a great plugin because it lets me have secure (private) files in S3 storage, but still make it possible for subscribers to watch the videos. S3MM handles creating the pre-signed URLs for the media, and provides the MediaElement.js player as the video player for the files.
My free videos are uploaded directly to YouTube and I use a YouTube plugin for WordPress to embed them in the pages.
There are a handful of other plugins that help to make things simple, as well. Here is my complete list. You can get the idea of what each of these other plugins does for me, just through the description.
Definitely Worth The Time And Money
In spite of my initial hesitations (months worth of hesitation… ), I found my experience in building this setup to be quite enjoyable. It took me less than one day of work to go from nothing to having a complete subscription service with my first screencasts secured and available. Of course it took a lot longer than that to finish filling in all my content, tweak the site design and add the videos… but that was the work I wanted to be doing. I didn’t want to spend weeks or months building a service that would handle these things. I wanted to get the service launched, have it done well, and be able to focus my time and attention on the content and videos. Having a WordPress setup with all of these plugins available made that possible.