Installation on Linux or Mac OS
Grab a copy of FatFreeCRM from GitHub
git clone firstname.lastname@example.org:fatfreecrm/fat_free_crm.git fat_free_crm cd fat_free_crm
Set Up Configuration (Database & Settings)
Fat Free CRM supports PostGreSQL, MySQL and SQLite databases. The source code comes with sample database configuration files. You will need to copy the config for your chosen db:
cp config/database.mysql.yml config/database.yml
cp config/database.postgres.yml config/database.yml
cp config/database.sqlite.yml config/database.yml
config/database.yml and specify database names and authentication details.
- Then, edit the
Gemfileand uncomment only your chosen database, near the following lines. Only one of the following three options should be uncommented.
# Uncomment the database that you have configured in config/database.yml # ---------------------------------------------------------------------- # gem 'mysql2' # gem 'sqlite3' gem 'pg'
Install Gem Dependencies
You may need to install some platform specific libraries to satisfy all the gem dependencies.
- RedHat (e.g. CentOS)
sudo yum install ImageMagick-devel libxml2 libxml2-devel libxslt libxslt-devel
Then one of the following lines:
sudo yum install mysql mysql-devel mysql-server sudo yum install postgresql postgresql-devel postgresql-libs postgresql-server
- Debian (e.g Ubuntu)
sudo apt-get install libmagick++-dev libxml2 libxml2-dev libxslt1.1 libxslt1-dev libyaml-dev
Then one of the following lines:
sudo apt-get install mysql-client libmysqlclient-dev sudo apt-get install postgresql-9.3 postgresql-client-9.3 libpq-dev
If you have trouble installing the DB dependencies, you will need to refer to either the MySQL or Postgres documentation for installation on your platform, before continuing.
Once the above is complete, run the following command from the application’s root directory:
Now you are ready to create the database:
Configure Application (Optional)
You can configure Fat Free CRM settings, such as your host, base URL, language (locale), menu structures, default colors, and email authentication.
Fat Free CRM settings are stored in three places, and are loaded in the following order:
- config/settings.yml (if exists)
- ‘settings’ table in database (if exists)
Settings loaded last have the highest priority, and override any settings from the previous sources.
To override any settings:
- Create a blank file at
- Copy the settings that you want to override from
config/settings.default.yml, and configure the values.
config/settings.ymlto the git repo with the following commands:
git add -f config/settings.yml git commit -m "Added config/settings.yml"
Example: If all you want to do is change the language to French, your
config/settings.yml file only needs to contain the following line:
Run database migrations and set up an admin user
Run the following rake task:
The previous command will migrate the database and prompt you for an admin user name, password and email. If you want to run the setup procedures without any user input, you can use the following (useful for automated server deployments):
rake db:migrate && rake ffcrm:setup:admin USERNAME=admin PASSWORD=password EMAILemail@example.com
Load Demo Data (Optional)
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 existing data from your database.
Among other things the demo generator creates 8 sample user records with the following usernames:
The demo site at http://demo.fatfreecrm.com provides access as a sample user as well.
Note: You can reset the database and reload demo data at any time by using
Run the App
Now you should be able to launch the Rails server and point your web browser to http://localhost:3000