Wrapper to deploy the Ghost blog on Nodejitsu
Tiny wrapper aroud the Ghost blog enabling deployment to Nodejitsu. The goal
of this wrapper is to persist content. Both the
sqlite database and
directory are persisted to MongoDB GridFS.
The most easy thing to do is
jitsu install ghost which will do steps 1 and 2
for you. It default to the database name: 'ghost-blog'. For more fine-grained
control you can follow the three steps below.
- Clone this module via github or download a release directly from the interface.
git clone firstname.lastname@example.org:nodejitsu/persistent-ghost.git
- Create a MongoDB database via webops interface or jitsu CLI
jitsu databases create mongo blog, where blog is the database name. After add the connection string to config.js. Optionally, you can configure an e-mail service. See the Ghost e-mail documentation for more details.exportsmongo = 'mongodb://nodejitsu:email@example.com:10051/nodejitsudb12238192';// recommended for password recovery, but optionalexportsmail =transport: 'SMTP'options:auth:user: 'firstname.lastname@example.org'pass: 'yourpassword'
jitsu deploy, acknowledge the provided subdomain or provide a custom subdomain to package.json.
For more details post setup, see the Ghost usage documentation.
- Sync all files of the
contentdirectory to MongoDB GridFS.
- Backup for each file the latest two versions are stored.
- Recovery option by setting
RECOVER=trueas environment variable.
- Uses the latest available ghost on npm.
Currently the wrapper has a custom ghost as dependency. It's the lastest available ghost release with one tiny adjustment. Any adjustments we make and which are useful in general will be discussed with the awesome Ghost team.
Ghost can be provided with themes in two ways, both via
- provide a git url to a theme for cloning. This is the advised method,
- provide the name of a submodule, if your theme is private you should add it to
bundledDependencies. Alternatively you could also use our private npm service.
Follow the instructions below to upgrade.
Installed with jitsu install
In development, redoing installation steps works for now.
Installed with git
git pull origin masterjitsu deploy
Only required if you forked, simply add the orginal repo as upstream remote.
git remote add upstream email@example.com:nodejitsu/persistent-ghost.gitgit pull upstream masterjitsu deploy
The current solution is not perfect, it's a quick fix. Direct storage to mongoDB and/or content storage to a dedicated storage service would be prefered. If you would like to help out, check pkgcloud to get started. Although we expect the module to work properly, this package is provided "AS IS", see the License for more details.