mmb/meme_captain_web

View on GitHub
doc/deploying_to_cloudfoundry.md

Summary

Maintainability
Test Coverage
# Deploying Meme Captain to Pivotal Web Services (Cloud Foundry)

Sign up for a Pivotal Web Services account at http://run.pivotal.io/

Clone the repository:

```sh
git clone git@github.com:mmb/meme_captain_web
cd meme_captain_web
```

Login to Cloud Foundry:

```sh
cf login
```

Push the app but do not start it:

```sh
cf push <unique app name> --no-start
```

Create the PostgreSQL service and bind it to the app:

```sh
cf create-service elephantsql turtle memecaptain
cf bind-service <unique app name> memecaptain
```

Get the database connect string:

```sh
cf env <unique app name>
```

Get the `postgres://` URI under VCAP_SERVICES.elephantsql.

```sh
psql <PostgreSQL URI>
```

Change bytea_output from hex to escape so images will display properly:

```sql
ALTER DATABASE get_database_name_from_prompt SET bytea_output TO 'escape';
```

Run the database migrations:

```sh
cf push <unique app name> -c 'bundle exec rake db:migrate'
```

Turn off delayed job workers for this simple deployment:

```sh
cf set-env <unique app name> DELAY_JOBS false
```

Restart app with default start command:

```sh
cf push <unique app name> -c null
```