canaille-globuzma/demo/README.md

2.2 KiB

Demo and development

To check out how canaille looks like, or to start contributions, just run the demo:

  • with docker-compose up to install and run it in preconfigured docker containers
  • or with ./run.sh to install it natively in a virtual environment and run it locally!

Prerequisites for native demo installation

You need to have OpenLDAP somewhere in your system.

You can either:

  • install it with your distro packages (for instance sudo apt install slapd ldap-utils with Ubuntu). it is not required to launch the system ldap service.
  • have docker plus docker-compose installed on your system, the ./run.sh script will download and run an OpenLDAP image.

canaille depends on python-ldap, and this package needs some headers to be installed on your system to be built. For instance on Ubuntu you can install this: sudo apt install libsasl2-dev python-dev libldap2-dev libssl-dev. More info on this SO ticket.

Apparmor

On Ubuntu systems, apparmor prevents slapd from accessing files that are not in the standard OpenLDAP installation. This may result in canaille being impossible to launch. To fix this you can pass slapd in complain mode:

sudo apt install --yes apparmor-utils
sudo aa-complain /usr/sbin/slapd

Run the demo

Then you have access to:

The canaille server has some default users:

  • A regular user which login and password are user;
  • A moderator user which login and password are moderator;
  • An admin user which login and password are admin.
  • A new user which login is james. This user has no password yet, and his first attempt to log-in would result in sending a password initialization email (if a smtp server is configurated).

Populate the database

You can populate the database with randomly generated users and groups with the populate command:

env CONFIG=conf/canaille.toml poetry run canaille populate