Kantree uses configuration files written in YAML. The main configuration file is located at kantree/config-prod.yml.
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.
- preferred_url_scheme: set to “https” to indicate that the server is behind SSL.
- features.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 preferred_url_scheme: https features: - 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 the 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:
features: - models: database_uri: postgresql://user:pass@host:port/db
If Redis is not installed locally:
features: - redis: url: redis://host:port/db
If not configured, emails won’t be sent:
features: - emails: server: localhost port: 587 username: example password: example
You can configure the default sender address using the default_sender option:
features: - emails: default_sender: email@example.com
Using the default configuration, uploaded files will be stored locally under the directory ./uploads. You can modify this directory using:
features: - upload: upload_dir: /my/path
An alternative is to use Amazon S3 using:
features: - upload: default_backend: s3 - aws: access_key: ACCESSKEY secret_key: SECRETKEY upload_bucket: BUCKETNAME upload_async: true
If you are using a region that only supports the v4 signature, set the additional settings:
features: - aws: access_key: ACCESSKEY secret_key: SECRETKEY upload_bucket: BUCKETNAME upload_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|
Some of these values can be overrided on a per-user basis.
To disable users signup (you will have to manually add users from the admin area), add this to your configuration file:
features: - users: allow_signup: false
|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.