The lowest-powered droplet is more than sufficient for my meager needs, for now.

Name Creation date IP address RAM size SSD size Operating system Region Cost 512MB 20GB Ubuntu 14.04 x64 New York 1 US $5/month ($0.007/hour)

This droplet uses Ubuntu instead of Debian (what I would choose nowadays), for historical reasons.

For installation of Apache, I simply use the apache2 Ubuntu package.

I have this at the end of my /etc/apache2/apache2.conf (because I want to mostly ignore the Ubuntu way of doing things, in this case):

Include custom/public/custom.conf

The custom directory is a copy of the $PRE_DEPLOY_DIR/apache/ directory, pulled in by $PRE_DEPLOY_DIR/apache/public/ is populated with the files in the services/digitalocean/config/droplets/ directory (recursively) in the repo, while $PRE_DEPLOY_DIR/apache/private/ is populated with the files in the apache/ directory (recursively) in the repo. The populating is done by, which I invoke manually when appropriate, for now. Whenever one of the apache config files is updated, I manually invoke the (as root), for now.

$PRE_DEPLOY_DIR is defined in /etc/environment and has the value /usr/local/etc/pre-deploy.

Here's my /etc/apache2/custom/public/custom.conf.

The aforementioned custom.conf Includes site-wide-redirects.conf and site-wide-tunnels.conf. That latter file's $HOME_IP is replaced by my current home IP address using sed during pre-deployment.

The script restarts the Apache server with apache2ctl graceful.
(graceful is like restart except it will finish serving the current requests instead of abruptly aborting them.)

Miscellaneous raw stuff. I'll clean this up later, probably. Maybe.


I run my own private bittorrent tracker. ("private" in the sense that only I can add files.)

opentracker isn't yet widely available in repos, for stupid licensing reasons.

(Supposedly you don't need a tracker these days, because of the DHT stuff, but I'm not sure how well that works (if at all) for incredibly obscure torrents, and if that's likely to cause performance or compatibility problems.)