Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

One-button Heroku deploy for the Ghost blogging platform.

License

NotificationsYou must be signed in to change notification settings

cobyism/ghost-on-heroku

Repository files navigation

Ghost is a free, open, simple blogging platform. Visit the project's website athttp://ghost.org, or read the docs onhttp://support.ghost.org.

Ghost version 1.X

Deploy

Things you should know

After deployment,

  • First, visit Ghost athttps://YOURAPPNAME.herokuapp.com/ghost to set up your admin account
  • The app may take a few minutes to come to life
  • Your blog will be publicly accessible athttps://YOURAPPNAME.herokuapp.com
  • If you subsequently set up acustom domain for your blog, you’ll need to update your Ghost blog’sPUBLIC_URL environment variable accordingly,heroku config:set PUBLIC_URL=https://www.example.com

🚫🔻 Do not scale-up beyond a single dyno

Ghost does not support multiple processes.

If your Ghost app needs to support substantial traffic, then use a CDN add-on:

Using with file uploads disabled

Heroku app filesystemsaren’t meant for permanent storage, so file uploads are disabled by default when using this repository to deploy a Ghost blog to Heroku. If you’re using Ghost on Heroku with S3 file uploads disabled, you should leave all environment variables beginning withS3_… blank.

Configuring S3 file uploads

To configure S3 file storage, create an S3 bucket on Amazon AWS, and then specify the following details as environment variables on the Heroku deployment page (or add these environment variables to your app after deployment via the Heroku dashboard):

  • S3_ACCESS_KEY_ID andS3_ACCESS_SECRET_KEY:Required if using S3 uploads. These fields are the AWS key/secret pair needed to authenticate with Amazon S3. You must have granted this keypair sufficient permissions on the S3 bucket in question in order for S3 uploads to work.

  • S3_BUCKET_NAME:Required if using S3 uploads. This is the name you gave to your S3 bucket.

  • S3_BUCKET_REGION:Required if using S3 uploads. Specify the region the bucket has been created in, using slug format (e.g.us-east-1,eu-west-1). A full list of S3 regions isavailable here.

  • S3_ASSET_HOST_URL: Optional, even if using S3 uploads. Use this variable to specify the S3 bucket URL in virtual host style, path style or using a custom domain. You should also include a trailing slash (examplehttps://my.custom.domain/). Seethis page for details.

Once your app is up and running with these variables in place, you should be able to upload images via the Ghost interface and they’ll be stored in Amazon S3. ✨

Provisioning an S3 bucket using an add-on

If you’d prefer not to configure S3 manually, you can provision theBucketeer add-onto get an S3 bucket (Bucketeer starts at $5/mo).

To configure S3 via Bucketeer, leave all the S3 deployment fields blank and deploy yourGhost blog. Once your blog is deployed, run the following commands from your terminal:

# Provision an Amazon S3 bucketheroku addons:create bucketeer --app YOURAPPNAME# Additionally, the bucket's region must be set to formulate correct URLs# (Find the "Region" in your Bucketeer Add-on's web dashboard.)heroku config:set S3_BUCKET_REGION=us-east-1 --app YOURAPPNAME

How this works

This repository is aNode.js web application that specifiesGhost as a dependency, and makes a deploy button available.

Updating source code

Optionally after deployment, to push Ghost upgrades or work with source code, clone this repo (or a fork) and connect it with the Heroku app:

git clone https://github.com/cobyism/ghost-on-herokucd ghost-on-herokuheroku git:remote -a YOURAPPNAMEheroku info

Then you can push commits to the Heroku app, triggering new deployments:

git add.git commit -m"Important changes"git push heroku master

Watch the app's server-side behavior to see errors and request traffic:

heroku logs -t

See more aboutdeploying to Heroku with git.

Upgrading Ghost

On each deployment, the Heroku Node/npm build process willauto-upgrade Ghost to the newest 1.x version. To prevent this behavior, use npm 5+ (or yarn) to create a lockfile.

npm installgit add package-lock.jsongit commit -m'Lock dependencies'git push heroku master

Now, future deployments will always use the same set of dependencies.

To update to newer versions:

npm updategit add package-lock.jsongit commit -m 'Update dependencies'git push heroku master

Database migrations

Requires MySQL database, available through either of two add-ons:

Newer versions of Ghost frequently require changes to the database. These changes are automated with a process calleddatabase migrations.

After upgrading Ghost, you may see errors logged like:

DatabaseIsNotOkError: Migrations are missing. Please run knex-migrator migrate.

To resolve this error, run the pending migrations and restart to get the app back on-line:

heroku run knex-migrator migrate --mgpath node_modules/ghostheroku restart

This can be automated by adding the following line toProcfile:

release: knex-migrator migrate --mgpath node_modules/ghost

Problems?

If you have problems using your instance of Ghost, you should check theofficial documentation or open an issue onthe official issue tracker. If you discover an issue with the deployment process provided bythis repository, thenopen an issue here.

License

Released under theMIT license, just like the Ghost project itself.

About

One-button Heroku deploy for the Ghost blogging platform.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp