Skip to content

Installation (Heroku)

skord edited this page Oct 17, 2012 · 4 revisions

Conclave currently is designed to deploy as a Heroku application, although it can be deployed in any other scenario that meets the requirements.

Deployment Requirements

On the machine you're deploying from, you'll need:

  • Ruby 1.9.2p320
  • A Heroku account
  • git
  • Heroku Toolbelt
  • TODO: Something about the mailer.

Installation Steps

Installing the Heroku Toolbelt

If you haven't already done this, you'll need the tools this package provides to push to Heroku. You can get it for any platform here: Heroku Toolbelt.

Checking Out Conclave

If you don't intend on making changes to Conclave, the easiest route is to:

git clone git://github.com/columbusrb/conclave.git

This will create a local copy of the development version of Conclave. We attempt to make sure this is well-tested, but bugs may be present.

If you're not already logged into Heroku, you will need to do so before pushing.

$ heroku login
Enter your Heroku credentials.
Email: adam@example.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/adam/.ssh/id_rsa.pub	

And you should now be able to push to your Heroku account. First create the app:

$ heroku create
Creating stark-fog-398... done, stack is cedar
http://stark-fog-398.herokuapp.com/ | git@heroku.com:stark-fog-398.git
Git remote heroku added

And then push it:

$ git push heroku master	

This step may take a while as your assets are precompiled and gems are installed.

Seeding Data

Your Conclave app is now running, but there's no data, no users, and no admin. It's good practice to put your app into maintenance mode which prevents pages from being served in the meantime, so let's do that:

$ heroku maintenance:on

Next, we'll seed the database so you have an admin account. Again, on your local machine:

$ heroku run rake db:migrate

This will create some basic users, your admin user, and some other defaults to help you get started.

Let's take the app out of maintenance mode. This will restart your app and allow pages to be served:

$ heroku maintenance:off

You should now be able to access your app. If you didn't note what the URL for it was in the earlier steps, you can find it and other application info by running:

$ heroku info

=== conclaveapp
Addons:        heroku-postgresql:dev
               sendgrid:starter

Collaborators: matt@matt-darby.com
Git URL:       git@heroku.com:conclaveapp.git
Owner Email:   danko@theorypump.com
Repo Size:     17M
Slug Size:     15M
Stack:         cedar
Web URL:       http://conclaveapp.herokuapp.com/

So in this case, you can now access your site at http://conclaveapp.herokuapp.com. Replace this with your URL and go to:

http://yourapp.herokuapp.com/admin

Sign in with the user "admin@example.com" and the password "password".

Creating A New Admin

The defaults aren't very secure, so it's good practice to create a user for yourself, assign it the administrator role, and delete the default users.

From the admin panel that you logged into in the previous section, click Users, the the New User button.

Enter your email and desired password here, then click the Create User button.

Next, you'll want to assign your new account the admin role. Click the Roles link in the page navigation bar, then Edit in the table row which contains your email address. In the select box, change the role from the default of Contributor to Admin and click Update User.

The final step is deleting your default accounts. The easiest way to accomplish this is to click the Users link on the navigation bar, type in example.com in the Search Email field, then hit enter. Click the box to select all the example.com accounts, then Batch Actions, and Delete Selected. You'll be warned, and then logged out because your user and its session no longer exist.

Post Setup Configuration

If you don't care for users to be able to log-in via Twitter or Facebook and have the ability to attach files, you're good to go.

If you want users to be able to sign in via Facebook or Twitter and have the ability to have File Uploads, you'll need to follow the steps in Optional Configuration.

Clone this wiki locally