Kantree uses configuration files written in YAML. The main configuration file is located at the root of your installation under the name config.yml.
All available configuration options are listed in kantree/config.py.
You must provide a secret key or the user session will not be secured. Changing the secret key will reset all user sessions.
This is required if you serve Kantree from anything other than localhost.
- server_name: the hostname (including port if different than 80) under which Kantree will be accessible. This will be used to generate urls.
- server_secured: set to
trueto indicate that the server is behind SSL.
- push_server_url: the full url under which Kantree push server will be accessible. This will be used to connect to the push server from the frontend.
Important: If you are using HTTPS, don’t forget to update the push_server_url as well.
server_name: example.com server_secured: true push_server_url: https://example.com
Regarding the push server: it is launched on port 4000 and needs to be accessible from the web. If you are using Nginx with our example configuration file, then push_server_url should be the same as the server_name prefixed with the HTTP scheme.
If you are using an IP as your server_name, you will also need to set the option session_cookie_domain to the same value. Example:
server_name: 192.168.1.1:5000 session_cookie_domain: 192.168.1.1:5000
You must provide this configuration:
If Redis is not installed locally:
If not configured, emails won’t be sent:
smtp_server: localhost smtp_port: 587 smtp_username: example smtp_password: example
You can configure the default sender address using the default_sender option:
mail_default_sender: "Kantree <firstname.lastname@example.org>"
Using the default configuration, uploaded files will be stored locally under the directory ./uploads. You can modify this directory using:
An alternative is to use Amazon S3 using:
upload_default_backend: s3 upload_backends: - s3: access_key: ACCESSKEY secret_key: SECRETKEY bucket: BUCKETNAME async: true
If you are using a region that only supports the v4 signature, set the additional settings:
upload_backends: - s3: access_key: ACCESSKEY secret_key: SECRETKEY bucket: BUCKETNAME async: true use_sig_v4: true region_name: REGIONNAME # (eg: eu-central-1)
Note: Boto (the python AWS library) does not currently support server-side KMS encryption. See open issue here which contains a patch: https://github.com/boto/boto/issues/2921
|user_can_create_projects||bool||true||set to false to disallow user from creating personal projects|
|user_can_create_private_projects||bool||true||set to false to disallow user from creating personal private projects|
|user_can_invite_guest_collabs||bool||true||set to false to disallow user from inviting guest collaborators on their projects (they will still be allowed to invite observers)|
|user_can_join_organizations||bool||true||set to false to disallow user from being part of teams|
|user_can_create_organizations||bool||true||set to false to disallow user from creating teams|
|user_can_reset_password||bool||true||Whether users can reset their password|
|user_can_delete_account||bool||true||Whether users can delete their account|
|new_users_limit_domains||array[string]||||Users can only signup if their emails use one of these domains|
|new_users_as_observers||bool||false||Whether new users should be platform-wide observers by default|
|new_users_approved_domains||array[string]||||List of domains where users will not be marked as observers when using the previous option|
|admin_can_add_new_users||bool||true||Whether Kantree admins can add new users manually|
|allow_public_projects||bool||true||Whether public projects are allowed at all|
|allow_signup||bool||true||Whether user can signup using an email/password|
Some of these values can be overrided on a per-user basis.
When you disable user signup, you will have to manually add users from the admin area or use an external authentification mechanism like LDAP.
|org_create_on_signup||bool||false||Whether to force the creation of a team on signup|
|org_can_invite_guest_collabs||bool||true||set to false to disallow inviting guests collaborators (external to the org) on team’s projects (inviting observers will still be allowed)|
|org_can_create_private_projects||bool||true||set to false to disallow the creation of private projects in teams (public ones will still be allowed)|
|org_at_least_one_owner_required||bool||false||Whether an owner is always required for teams|
|org_auto_delete_when_no_members||bool||false||Auto delete orgs when all their members have left|
|auto_join_org_on_signup||string||Name of a team to join automatically on signup (auto creates the org if missing)|
Some of these values can be overrided on a per-org basis.
|help_site_url||string||http://help.kantree.io||URL of the help site|
|hide_logout_button||bool||false||Whether to hide the logout button|
|onboarding_tour_enabled||bool||true||Whether to show a small tour when signing up|
|support_email||string||Email address of support team|
|theme_color||string||Default color of the interface (HEX color code)|
|navbar_logo_url||string||URL of an image to use as logo in the top bar (image size: 200x50px)|
When creating projects, the user can create projects from a list of templates. Additionally to the templates the user has access to, you can show templates coming from any teams using some settings.
These templates can also be different for each locale.
The configuration key to use is
templates_slugs which contains a map of locales to a list of templates. The templates are identified using their slug (the last part of the url).
templates_slugs: en: [1719de34-kanban, 7f33540a-scrum, f42a4cd9-product-development, 5df6a582-sales-pipeline, d8b5ce2b-recruiting] fr: [5f7aac2c-kanban-fr, 0237c002-scrum-fr, 230e8675-workflow-lean, 1dc28163-pipeline-de-vente, 8f150363-recrutements]
You can activate centralize logging to a file using the log_filename key:
This will also activate the logs view in the admin.