metasansana / buildpack-ghost-cms-theme

Ghost CMS Theme buildpack for dokku.
Other
4 stars 0 forks source link
dokku ghost-cms ghost-theme heroku-buildpack

Ghost CMS Theme Buildpack

This is a custom buildpack for building Ghost CMS on dokku.

About Buildpacks

Information about using custom buildpacks with dokku can on the dokku site. Long story short: Include a .buildpacks file in your repo where each line is a git clonable URL to a buildpack you want to use.

Example:

https://github.com/heroku/heroku-buildpack-nodejs.git#v123
https://github.com/metasansana/buildpack-ghost-cms-theme#v0.2.0

About This Buildpack

This buildpack will build a Ghost CMS blog from a repo that is a ghost-theme. It uses the ghost-cli tool without all the environment checking stuff to make deployment easier on platforms like dokku.

This buildpack depends on and MUST be used with the official Node.js buildpack as shown in the example above.

Usage

Before You Push

In order to successfully build your app from a git push your app MUST be a valid Ghost CMS theme. During the build process the buildpack creates a www-ghost folder that it will install the desired Ghost CMS release to.

You therefore should not have any files or directories named www-ghost in your project.

In order for the buidpack to detect your app as a Ghost theme, you must have the "ghost-theme" string in your keywords array in the package.json.

Additions

You can now include a custom config.production.json and content folder and they will be merged into the project.

This is usefull if you want to do things like use a custom storage adapter.

Dokku

Before pushing your app, you need to specify a few environment variables otherwise builds will fail. Note that this buildpack currently only supports the MySQL installation.

Environment Variables

After configuring your environment variables, push your app and it should build. Give Ghost some time to complete the installation if this is the first push.

License

Apache-2.0 plus vendored packages. See the LICENSE file for more info.