Ghost Scaffolding
This post was archived on .
The content may be old and no longer accurate.

Introduction
I believe that upgrades should be simple, as such, I really hate dealing with zips and messing around in Ghost's core directory just to get the thing updated. Being the lazy developer that I am, I created this mini-project called Slight Ghost - a simple scaffolding for a Ghost blog, optimised for streamlined updates.
Install
Make sure git and node is installed before attempting to install slight-ghost
# Ubuntu
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install git node
Installing is as simple as a git clone. First clone the scaffolding.
cd /var/www/
git clone https://github.com/Silvenga/Slight-Ghost.git ghost
cd ghost
Clone the default theme.
git submodule update --init --recursive
Install Ghost and its dependencies.
npm install
Copy the sample configuration file.
cp config.sample.js config.js
And edit config.js for your own needs.
nano config.js
Note: Make sure to include the paths.contentPath directive.
Done! Checkout the Upgrade section for information on how to upgrade.
Run
Run slight-ghost just like the normal installation of Ghost. I recommend using Upstart to keep Ghost running (https://silvenga.com/power-ghost-with-upstart/).
node index.js
Notes:
index.jswill automatically set Ghost intoproductionmode. Anexport NODE_ENV=productionis not needed. Make sure to change the permissions of the content directory!
Upgrade
Update the base scaffolding and the default theme using git.
git pull --recurse-submodules
Updated and install any new dependencies using npm.
npm install
Done! Ghost has been updated to the latest stable revision - no need to deal with those pesky zips.
Advance
Update the content directory. This is normally not required.
Switch the repository to a scratch branch.
git checkout ghost
Get the latest stable version of Ghost to base the scaffolding off of.
git pull https://github.com/TryGhost/Ghost.git stable
Switch back to our original branch.
git checkout master
Merge the content directory to the scaffolding.
git checkout ghost -- content
Done! The content directory should now be updated to the latest version of Ghost.
License
This project is under the MIT license, fork away!