Deploying Apostrophe to a Linode linux server quickly

← Previous: Migrating from Apostrophe 0.5

Linode is a popular provider of Linux VPSes (Virtual Private Servers). A VPS is a great fit for most Apostrophe sites because it can easily accommodate MongoDB, Apostrophe and your content at a fixed, low monthly price. Setting it up is usually much simpler than using a "cloud provider" like AWS or Heroku, unless you have a true need to operate at a very large scale.

You can follow our deployment tutorial on Linode — in fact, we tested it on Linode, although it works fine with any Linux server. And we recommend skimming that tutorial first to get the general idea. But, you can skip most of the steps by using our Linode "Stackscript."

To do that, just follow along:

Windows users: stagecoach can be run under the Linux subsystem for Windows.

sc-deploy production

At the end of the run, you should see:

First startup, chose port 3000 for this site

First ssh to your server as root. We can do this conveniently with the sc-shell command, but you could also do it manually:

sc-shell root@production

Now use mechanic add to configure nginx to proxy traffic from port 80 to port 3000, taking care of caching and serving static files quickly along the way:

mechanic add myshortname --host=example.com --aliases=www.example.com --static=/opt/stagecoach/apps/myshortname/current/public --backends=3000 --default=true

As long as you specify --default=true, you should be able to access your site right away at its IP address:

http://a.b.c.d/

http://example.com

Next: Deploying Apostrophe in the Cloud →