Ruby on Rails CRM platform for Web 2.0 and beyond
Clone or download
Pull request Compare This branch is 2932 commits behind fatfreecrm:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Welcome to Fat Free CRM!

Fat Free CRM is next generation open source CRM platform. Active development has started in November 2008; new features, enhancements, and updates appear on daily basis.

Here are the steps to get Fat Free CRM up and running on your system.

System Requirements

  • Ruby v1.8.7 or v1.9.2

  • MySQL v4.1.1 or later (v5+ is recommended), SQLite v3.4 or later, or Postgres 8.4.8 or later.

  • ImageMagick (optional, only if you would like to use avatars)

(Ruby on Rails v3 and other gem dependencies will be installed automatically by Bundler.)


Upgrading from a previous version of Fat Free CRM

If you are upgrading from version 0.10.1 or below, your database schema needs to be updated. After you have installed the latest Rails 3 version, please run the following commands in this order:

$ bundle install              # Installs gem dependencies
$ rake crm:upgrade:schema     # Updates your old schema to use the new timestamped migrations
$ rake db:migrate             # Runs the new database migrations.

Setting Up The Database Configuration

Fat Free CRM supports MySQL and SQLite databases. The source code comes with two sample database configuration files: config/database.mysql.yml for MySQL and config/database.sqlite.yml for SQLite. Based on your choice of the database create the actual database configuration file, for example:

$ cp config/database.mysql.yml config/database.yml

Edit config/database.yml and specify database names and authentication details.

Installing Gem Dependencies

Fat Free CRM includes a 'smart' Gemfile that detects your chosen database, and installs the required gems. After you have configured your database.yml file, run the following command from the applications root directory:

$ bundle install

Create The Database

Now you are ready to create the database:

$ rake db:create

Setting Up The Application

The next step is to load default Fat Free CRM settings, such as menu structures, default colors, etc. and create the Admin user. This is done by running the following rake task:

$ rake crm:setup

Loading Demo Data

You can test drive Fat Free CRM by loading sample records that are generated on the fly mimic the actual use. IMPORTANT: loading demo will delete all the existing data.

$ rake crm:demo:load

Among other things the demo generator creates 8 sample user records with the following usernames: aaron, ben, cindy, dan, elizabeth, frank, george, and heather. You can log in with any of these names using the name as password. The demo site at provides access as a sample user as well.

You can reset the database and reload demo data at any time by using:

$ rake crm:demo:reload

Running The App

Now you should be able to launch the Rails server and point your web browser to localhost:3000

$ ruby script/server

When deploying with Phusion Passenger, also install Rack 1.0.1:

$ gem install rack -v 1.0.1


For Developers

Fat Free CRM can be customized by implementing callback hooks and extended by creating Rails Engines plugins. Check out these sample repositories demonstrating the concepts:


Copyright © 2008-2011 by Michael Dvorkin. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See LICENSE file for more details.