Skip to content
Professional photographer's client and booking management solution, as well as a gallery / portfolio to showcase your work.
Ruby CSS CoffeeScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Grokphoto is a professional photographer's client gallery solution.

This version is work in progress / port to rails 3.1.3

For the stable rails 2 version please see the version 2 branch: Version 2

Software Requirements

  • ImageMagick
  • SQLite3 or MySQL or PostgreSQL


git clone git://
cd grokphoto

Then edit these files with your own settings. Everything you need to change is marked with TODO along with instructions if necessary:

  • config/database.yml
  • config/heroku.yml
  • config/initializers/devise.rb
  • config/initializers/secret_token.rb
  • config/initializers/session_store.rb

NOTE: You won't need to change all of these if you're deploying to Heroku. See Heroku Deployment below for details.

Then initialize the database and start the server:

rake db:create
rake db:migrate
rake db:seed
rails s

At this point you should have a working site with some basic seed data that you can start to customize.

Initial Configuration

  1. Login to the administration area (/admin) using / password
  2. Click on the Settings tab.
  3. Enter your own information and update the settings.

Heroku Deployment

heroku create --stack cedar

Setup your own values in the next command, using your own email address, the name of your application for the session key and "rake secret" to generate a new secret key.

heroku config:add SESSION_KEY=_change_me_to_your_app_name SECRET_KEY=result_of_rake_secret_goes_here
git push heroku master
heroku run rake db:migrate

Before you seed the database you'll need to setup an amazon s3 account and bucket to have somewhere to store the files. Heroku has a temporary filesystem which is not an appropriate place to store images.

Use your S3 information to fill in the config vars for heroku, then seed the database.

heroku config:add S3_KEY=change_to_your_amazon_s3_key S3_SECRET=change_to_your_amazon_s3_secret S3_BUCKET=change_to_your_amazon_s3_bucket    

You still need to specify a secret roken and session store key:

rake secret
heroku config:add SESSION_KEY=_usually_you_app_name SECRET_TOKEN=token_from_rake_secret

The specify the email address to use when the system sends emails:

heroku config:add SENDER_EMAIL=_your_email_address

You can check to make sure all of your heroku environment variables have been properly set using:

heroko config

Once done, seed the database and launch the app.

heroku run rake db:seed
heroku open


  • Personalize your site via the configuration / settings page.
  • Manage and share private galleries with clients easily via secure URL.
  • One-click photo uploads.


  • Internationalization.
  • Photo commenting system for both you and your clients.
  • Basic view statistics / history for your client galleries.


To run the tests:

rspec spec


Sample photos were provided by and are copyright of Jaime Coyle Photography


Creative Commons License
Grokphoto by is licensed under a Creative Commons Attribution-Share Alike 2.5 Canada License.
Based on a work at

Something went wrong with that request. Please try again.