Skip to content
This repository has been archived by the owner on Feb 12, 2020. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 200 commits ahead, 5 commits behind mysociety:master.

Latest commit


Git stats


Failed to load latest commit information.


Open311 Simple CRM

Open311 Simple CRM is a basic open source web application for storing problem reports and tracking requests. It also provides an Open311 API endpoint and should accept any report submitted over the Open311 API.


Open311 Simple CRM is written in PHP using the CodeIgniter framework. You should find it easy to install provided you have access to a webserver and a database.

The code generally expects to be running under an Apache webserver with a mySQL database. It may be possible change these things if your system is different -- see the installation documentation:

Installation instructions: see documentation/


If you're familiar with PHP CodeIgniter (or possibly just PHP!) you might be able to get things going just by dropping the repository somewhere under your server root. (In fact, for a super quickstart, set up your webserver so that web/ is the server root).

The Open311 Simple CRM root page will provide diagnostics even if you've not got the database running, so try hitting that as soon as you get going.

Remember to see documentation/ for details. If the home page seems OK, try clicking on Main site and logging in as the default out-of-the-box administrator:

  • username:
  • password: password

You must to change these values as soon as you're logged in! The root page will tell you how (until you've done it).


The original Open311 implementation code is nearly all from Philip Ashlock's raw implementation of Open311 GeoReport v2 while additional features have been developed by mySociety under the name FMS-endpoint.

See LICENSE.txt but also check in documentation/ for component-specific licenses.




Setup docker containers.

$ docker-compose up

Setup the schema needed by the application in the database

$ cat db/fms-endpoint-initial.sql | docker container exec -i $(docker-compose ps -q db) mysql -uroot -pmysql-dev-password crm

Run the migrations (note: you will see PHP "errors", but they're all just notices)

$ docker-compose exec app php index.php migrate

Open your browser to localhost:8000.

At this point you should see a prompt from Open311 to adjust the admin's email address, and change the organization name. Let's do that:

$ docker-compose exec db mysql -uroot -pmysql-dev-password crm
mysql> update users set email="yourname@yourdomain" where username="administrator";
mysql> update config_settings set value="yourorgname" where name="organisation_name";

Reload localhost:8000 and you should see green text indicating that Open311 is enabled.

Updating composer dependencies

Edit version constraints in composer.json.

$ docker-compose exec app composer update

Commit the updated composer.json and composer.lock.


Open311 Simple CRM







No packages published


  • PHP 50.3%
  • HTML 33.5%
  • JavaScript 12.4%
  • CSS 3.1%
  • ActionScript 0.4%
  • TSQL 0.2%
  • Other 0.1%