Configuration file
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.
Secret key
You must provide a secret key or the user session will not be secured. Changing the secret key will reset all user sessions.
secret_key: YOUR_SECRET_KEY
Hostnames
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
true
to 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.
Example:
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
PostgreSQL
You must provide this configuration:
database_uri: postgresql://user:pass@host:port/db
Redis
If Redis is not installed locally:
redis_uri: redis://host:port/db
Emails
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 <no-reply@yourcompany.com>"
Uploaded files
Using the default configuration, uploaded files will be stored locally under the directory ./uploads. You can modify this directory using:
upload_dir: /my/path
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
Options
Users
Key | Type | Default | Description |
---|---|---|---|
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.
Teams
Key | Type | Default | Description |
---|---|---|---|
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.
Various
Key | Type | Default | Description |
---|---|---|---|
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) |
Template library
Projects can be published to the template library by Kantree admins.
Key | Type | Default | Description |
---|---|---|---|
open_template_library | bool | false | Whether any member can publish projects to the library |
template_library_featured_tag | string | Any published project with this tag is featured when a user create a project (Can be a dict for localized tags where keys are the locale name) | |
template_library_display_tags | arrays[string] | Only these tags will be visible in the template library. Any other tag can be used on templates but they will be hidden (Can be a dict for localized tags where keys are the locale name) |
Log file
You can activate centralize logging to a file using the log_filename key:
log_filename: kantree.log
This will also activate the logs view in the admin.