Configuration Reference
This page contains a full list of all configuration properties available in Scoold and Scoold Pro.
- Most of the configuration can be updated on-the-fly, at runtime via the API or via system properties, except those settings marked with
requires restart - Configuration properties marked with
prowill only work in Scoold Pro and will be ignored by Scoold. - The
previewbadge indicates features that are new and may need more work.
| Property key & Description | Default Value | Type |
|---|---|---|
scoold.app_nameThe formal name of the web application. | Scoold | String |
scoold.para_access_key requires restartApp identifier (access key) of the Para app used by Scoold. | app:scoold | String |
scoold.para_secret_key requires restartSecret key of the Para app used by Scoold. | x | String |
scoold.para_endpoint requires restartThe URL of the Para server for Scoold to connects to. For hosted Para, use https://paraio.com | http://localhost:8080 | String |
scoold.host_urlThe internet-facing (public) URL of this Scoold server. | http://localhost:8000 | String |
scoold.port requires restartThe network port of this Scoold server. Port number should be a number above 1024. | 8000 | Integer |
scoold.env requires restartThe environment profile to be used - possible values are production or development | development | String |
scoold.app_secret_keyA random secret string, min. 32 chars long. Must be different from the secret key of the Para app. Used for generating JWTs and passwordless authentication tokens. | | String |
scoold.adminsA comma-separated list of emails of people who will be promoted to administrators with full rights over the content on the site. This can also contain Para user identifiers. | | String |
scoold.is_default_space_publicWhen enabled, all content in the default space will be publicly visible, without authentication, incl. users and tags. Disable to make the site private. | true | Boolean |
scoold.context_path requires restartThe context path (subpath) of the web application, defaults to the root path /. | | String |
scoold.webhooks_enabledEnable/disable webhooks support for events like question.create, user.signup, etc. | true | Boolean |
scoold.api_enabledEnable/disable the Scoold RESTful API. Disabled by default. | false | Boolean |
scoold.feedback_enabledEnable/disable the feedback page on the site. It is intended for internal discussion about the website itself. | false | Boolean |
Emails
Section titled “Emails”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.support_emailThe email address to use for sending transactional emails, like welcome/password reset emails. | contact@scoold.com | String |
scoold.mail.hostThe SMTP server host to use for sending emails. | | String |
scoold.mail.portThe SMTP server port to use for sending emails. | 587 | Integer |
scoold.mail.usernameThe SMTP server username. | | String |
scoold.mail.passwordThe SMTP server password. | | String |
scoold.mail.tlsEnable/disable TLS for the SMTP connection. | true | Boolean |
scoold.mail.sslEnable/disable SSL for the SMTP connection. | false | Boolean |
scoold.mail.debugEnable/disable debug information when sending emails through SMTP. | false | Boolean |
scoold.favtags_emails_enabledSet the default toggle value for all users for receiving emails for new content with their favorite tags. | false | Boolean |
scoold.reply_emails_enabledSet the default toggle value for all users for receiving emails for answers to their questions. | false | Boolean |
scoold.comment_emails_enabledSet the default toggle value for all users for receiving emails for comments on their posts. | false | Boolean |
scoold.summary_email_period_days ProThe time period between each content digest email, in days. | 7 | Integer |
scoold.summary_email_itemsThe number of posts to include in the digest email (a summary of new posts). | 25 | Integer |
scoold.notification_emails_allowedEnable/disable all notification emails. | true | Boolean |
scoold.newpost_emails_allowedEnable/disable all email notifications for every new question that is posted on the site. | true | Boolean |
scoold.favtags_emails_allowedEnable/disable all email notifications for every new question tagged with a favorite tag. | true | Boolean |
scoold.reply_emails_allowedEnable/disable all email notifications for every new answer that is posted on the site. | true | Boolean |
scoold.comment_emails_allowedEnable/disable all email notifications for every new comment that is posted on the site. | true | Boolean |
scoold.mentions_emails_allowed ProEnable/disable all email notifications every time a user is mentioned. | true | Boolean |
scoold.summary_email_controlled_by_admins ProControls whether admins can enable/disable summary emails for everyone from the ‘Settings’ page | false | Boolean |
scoold.mention_emails_controlled_by_admins ProControls whether admins can enable/disable mention emails for everyone from the ‘Settings’ page | false | Boolean |
scoold.emails.welcome_text1Allows for changing the default text (first paragraph) in the welcome email message. | You are now part of {0} - a friendly Q&A community... | String |
scoold.emails.welcome_text2Allows for changing the default text (second paragraph) in the welcome email message. | To get started, simply navigate to the "Ask question" page and ask a question... | String |
scoold.emails.welcome_text3Allows for changing the default text (signature at the end) in the welcome email message. | Best, <br/>The {0} team | String |
scoold.emails.default_signatureThe default email signature for all transactional emails sent from Scoold. | Best, <br/>The {0} team | String |
Security
Section titled “Security”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.approved_domains_for_signupsA comma-separated list of domain names, which will be used to restrict the people who are allowed to sign up on the site. | | String |
scoold.security.allow_unverified_emailsEnable/disable email verification after the initial user registration. Users with unverified emails won’t be able to sign in, unless they use a social login provider. | false | Boolean |
scoold.session_timeoutThe validity period of the authentication cookie, in seconds. Default is 24h. | 86400 | Integer |
scoold.jwt_expires_afterThe validity period of the session token (JWT), in seconds. Default is 24h. | 86400 | Integer |
scoold.security.one_session_per_userIf disabled, users can sign in from multiple locations and devices, keeping a few open sessions at once. Otherwise, only one session will be kept open, others will be closed. | true | Boolean |
scoold.min_password_lengthThe minimum length of passwords. | 8 | Integer |
scoold.min_password_strengthThe minimum password strength - one of 3 levels: 1 good enough, 2 strong, 3 very strong. | 2 | Integer |
scoold.pass_reset_timeoutThe validity period of the password reset token sent via email for resetting users’ passwords. Default is 30 min. | 1800 | Integer |
scoold.profile_anonimity_enabledEnable/disable the option for users to anonimize their profiles on the site, hiding their name and picture. | false | Boolean |
scoold.signup_captcha_site_keyThe reCAPTCHA v3 site key for protecting the signup and password reset pages. | | String |
scoold.signup_captcha_secret_keyThe reCAPTCHA v3 secret. | | String |
scoold.csp_reports_enabledEnable/disable automatic reports each time the Content Security Policy is violated. | false | Boolean |
scoold.csp_header_enabledEnable/disable the Content Security Policy (CSP) header. | true | Boolean |
scoold.csp_headerThe CSP header value which will overwrite the default one. This can contain one or more {{nonce}} placeholders, which will be replaced with an actual nonce on each request. | | String |
scoold.hsts_header_enabledEnable/disable the Strict-Transport-Security security header. | true | Boolean |
scoold.framing_header_enabledEnable/disable the X-Frame-Options security header. | true | Boolean |
scoold.xss_header_enabledEnable/disable the X-XSS-Protection security header. | true | Boolean |
scoold.contenttype_header_enabledEnable/disable the X-Content-Type-Options security header. | true | Boolean |
scoold.referrer_header_enabledEnable/disable the Referrer-Policy security header. | true | Boolean |
scoold.permissions_header_enabledEnable/disable the Permissions-Policy security header. | true | Boolean |
scoold.csp_connect_sourcesAdditional sources to add to the connect-src CSP directive. Used when adding external scripts to the site. | | String |
scoold.csp_frame_sourcesAdditional sources to add to the frame-src CSP directive. Used when adding external scripts to the site. | | String |
scoold.csp_font_sourcesAdditional sources to add to the font-src CSP directive. Used when adding external fonts to the site. | | String |
scoold.csp_style_sourcesAdditional sources to add to the style-src CSP directive. Used when adding external fonts to the site. | | String |
Basic Authentication
Section titled “Basic Authentication”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.password_auth_enabledEnabled/disable the ability for users to sign in with an email and password. | true | Boolean |
scoold.fb_app_idFacebook OAuth2 app ID. | | String |
scoold.fb_secretFacebook app secret key. | | String |
scoold.gp_app_idGoogle OAuth2 app ID. | | String |
scoold.gp_secretGoogle app secret key. | | String |
scoold.in_app_idLinkedIn OAuth2 app ID. | | String |
scoold.in_secretLinkedIn app secret key. | | String |
scoold.tw_app_idTwitter OAuth app ID. | | String |
scoold.tw_secretTwitter app secret key. | | String |
scoold.gh_app_idGitHub OAuth2 app ID. | | String |
scoold.gh_secretGitHub app secret key. | | String |
scoold.ms_app_idMicrosoft OAuth2 app ID. | | String |
scoold.ms_secretMicrosoft app secret key. | | String |
scoold.ms_tenant_idMicrosoft OAuth2 tenant ID | common | String |
scoold.az_app_idAmazon OAuth2 app ID. | | String |
scoold.az_secretAmazon app secret key. | | String |
scoold.sl_app_id ProSlack OAuth2 app ID. | | String |
scoold.sl_secret ProSlack app secret key. | | String |
scoold.mm_app_id ProMattermost OAuth2 app ID. | | String |
scoold.mm_secret ProMattermost app secret key. | | String |
scoold.security.custom.provider ProThe text on the button for signing in with the custom authentication scheme. | Continue with Acme Co. | String |
scoold.security.custom.login_url ProThe URL address of an externally hosted, custom login page. | | String |
LDAP Authentication
Section titled “LDAP Authentication”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.security.ldap.server_urlLDAP server URL. LDAP will be disabled if this is blank. | | String |
scoold.security.ldap.base_dnLDAP base DN. | | String |
scoold.security.ldap.user_search_baseLDAP search base, which will be used only if a direct bind is unsuccessfull. | | String |
scoold.security.ldap.user_search_filterLDAP search filter, for finding users if a direct bind is unsuccessful. | (cn={0}) | String |
scoold.security.ldap.user_dn_patternLDAP user DN pattern, which will be comined with the base DN to form the full path to theuser object, for a direct binding attempt. | uid={0} | String |
scoold.security.ldap.ad_mode_enabledEnable/disable support for authenticating with Active Directory. If true, AD is enabled. | false | Boolean |
scoold.security.ldap.active_directory_domainAD domain name. Add this only if you are connecting to an Active Directory server. | | String |
scoold.security.ldap.password_attributeLDAP password attribute name. | userPassword | String |
scoold.security.ldap.bind_dnLDAP bind DN | | String |
scoold.security.ldap.bind_passLDAP bind password. | | String |
scoold.security.ldap.username_as_nameEnable/disable the use of usernames for names on Scoold. | false | Boolean |
scoold.security.ldap.provider ProThe text on the LDAP sign in button. | Continue with LDAP | String |
scoold.security.ldap.mods_group_nodeModerators group mapping, mapping LDAP users with this node, to moderators on Scoold. | | String |
scoold.security.ldap.admins_group_nodeAdministrators group mapping, mapping LDAP users with this node, to administrators on Scoold. | | String |
scoold.security.ldap.compare_passwordsLDAP compare passwords. | | String |
scoold.security.ldap.password_paramLDAP password parameter name. | password | String |
scoold.security.ldap.username_paramLDAP username parameter name. | username | String |
scoold.security.ldap.displayname_attributeMaps an LDAP property to the full name of the person. By default, the value of CN is used as the name of the Para user. Acceptable values are cn, displayname, uid, username, sn. | cn | String |
SAML Authentication
Section titled “SAML Authentication”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.security.saml.idp.metadata_url ProSAML metadata URL. Scoold will fetch most of the necessary information for the authentication request from that XML document. This will overwrite all other IDP settings. | | String |
scoold.security.saml.sp.entityid ProSAML SP endpoint address - e.g. https://paraio.com/saml_auth/scoold. The IDP will call this address for authentication. | | String |
scoold.security.saml.sp.x509cert ProSAML client x509 certificate for the SP (public key). Value must be Base64-encoded. | | String |
scoold.security.saml.sp.privatekey ProSAML client private key in PKCS#8 format for the SP. Value must be Base64-encoded. | | String |
scoold.security.saml.attributes.id ProSAML attribute name of the user id. | UserID | String |
scoold.security.saml.attributes.picture ProSAML attribute name of the user picture. | Picture | String |
scoold.security.saml.attributes.email ProSAML attribute name of the user email. | EmailAddress | String |
scoold.security.saml.attributes.name ProSAML attribute name of the user name. | GivenName | String |
scoold.security.saml.attributes.firstname ProSAML attribute name of the user firstname. | FirstName | String |
scoold.security.saml.attributes.lastname ProSAML attribute name of the user lastname. | LastName | String |
scoold.security.saml.provider ProThe text on the button for signing in with SAML. | Continue with SAML | String |
scoold.security.saml.sp.assertion_consumer_service.url ProSAML ACS URL. | | String |
scoold.security.saml.sp.nameidformat ProSAML name id format. | urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified | String |
scoold.security.saml.idp.entityid ProSAML IDP entity id for manually setting the endpoint address of the IDP, instead of getting it from the provided metadata URL. | | String |
scoold.security.saml.idp.single_sign_on_service.url ProSAML SSO service URL of the IDP. | | String |
scoold.security.saml.idp.x509cert ProSAML server x509 certificate for the IDP (public key). Value must be Base64-encoded. | | String |
scoold.security.saml.security.authnrequest_signed ProEnable/disable SAML authentication request signing. | false | Boolean |
scoold.security.saml.security.want_messages_signed ProEnable/disable SAML message signing. | false | Boolean |
scoold.security.saml.security.want_assertions_signed ProEnable/disable SAML assertion signing. | false | Boolean |
scoold.security.saml.security.want_assertions_encrypted ProEnable/disable SAML assertion encryption. | false | Boolean |
scoold.security.saml.security.want_nameid_encrypted ProEnable/disable SAML NameID encryption. | false | Boolean |
scoold.security.saml.security.want_nameid ProEnable/disable SAML NameID requirement. | true | Boolean |
scoold.security.saml.security.sign_metadata ProEnable/disable SAML metadata signing. | false | Boolean |
scoold.security.saml.security.want_xml_validation ProEnable/disable SAML XML validation. | true | Boolean |
scoold.security.saml.security.signature_algorithm ProSAML signature algorithm. | | String |
scoold.security.saml.domain ProSAML domain name. | paraio.com | String |
OAuth 2.0 Authentication
Section titled “OAuth 2.0 Authentication”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.oa2_app_idOAauth 2.0 client app identifier. Alternatives: oa2second_app_id, oa2third_app_id | | String |
scoold.oa2_secretOAauth 2.0 client app secret key. Alternatives: oa2second_secret, oa2third_secret | | String |
scoold.security.oauth.authz_urlOAauth 2.0 client app authorization URL (login page). Alternatives: security.oauthsecond.authz_url, security.oauththird.authz_url | | String |
scoold.security.oauth.token_urlOAauth 2.0 client app token endpoint URL. Alternatives: security.oauthsecond.token_url, security.oauththird.token_url | | String |
scoold.security.oauth.profile_urlOAauth 2.0 client app user info endpoint URL. Alternatives: security.oauthsecond.profile_url, security.oauththird.profile_url | | String |
scoold.security.oauth.scopeOAauth 2.0 client app scope. Alternatives: security.oauthsecond.scope, security.oauththird.scope | openid email profile | String |
scoold.security.oauth.accept_headerOAauth 2.0 Accept header customization. Alternatives: security.oauthsecond.accept_header, security.oauththird.accept_header | | String |
scoold.security.oauth.parameters.idOAauth 2.0 attribute mapping for id. Alternatives: security.oauthsecond.parameters.id, security.oauththird.parameters.id | sub | String |
scoold.security.oauth.parameters.nameOAauth 2.0 attribute mapping for name. Alternatives: security.oauthsecond.parameters.name, security.oauththird.parameters.name | name | String |
scoold.security.oauth.parameters.given_nameOAauth 2.0 attribute mapping for given_name. Alternatives: security.oauthsecond.parameters.given_name, security.oauththird.parameters.given_name | given_name | String |
scoold.security.oauth.parameters.family_nameOAauth 2.0 attribute mapping for family_name. Alternatives: security.oauthsecond.parameters.family_name, security.oauththird.parameters.family_name | family_name | String |
scoold.security.oauth.parameters.emailOAauth 2.0 attribute mapping for email. Alternatives: security.oauthsecond.parameters.email, security.oauththird.parameters.email | email | String |
scoold.security.oauth.parameters.pictureOAauth 2.0 attribute mapping for picture. Alternatives: security.oauthsecond.parameters.picture, security.oauththird.parameters.picture | picture | String |
scoold.security.oauth.download_avatarsEnable/disable OAauth 2.0 avatar downloading to local disk. Used when avatars are large in size. Alternatives: security.oauthsecond.download_avatars, security.oauththird.download_avatars | false | Boolean |
scoold.security.oauth.token_delegation_enabled ProEnable/disable OAauth 2.0 token delegation. The ID and access tokens will be saved and delegated to Scoold from Para. Alternatives: security.oauthsecond.token_delegation_enabled, security.oauththird.token_delegation_enabled | false | Boolean |
scoold.security.oauth.spaces_attribute_name ProOAauth 2.0 attribute mapping for users’ spaces. The spaces can be comma-separated. Alternatives: security.oauthsecond.spaces_attribute_name, security.oauththird.spaces_attribute_name | spaces | String |
scoold.security.oauth.groups_attribute_name ProOAauth 2.0 attribute mapping for users’ groups. Use this for mapping admin, mod and user roles to Scoold users.Alternatives: security.oauthsecond.groups_attribute_name, security.oauththird.groups_attribute_name | | String |
scoold.security.oauth.mods_equivalent_claim_value ProOAauth 2.0 claim used for mapping OAuth2 users having it, to moderators on Scoold. Alternatives: security.oauthsecond.mods_equivalent_claim_value, security.oauththird.mods_equivalent_claim_value | mod | String |
scoold.security.oauth.admins_equivalent_claim_value ProOAauth 2.0 claim used for mapping OAuth2 users having it, to administrators on Scoold. Alternatives: security.oauthsecond.admins_equivalent_claim_value, security.oauththird.admins_equivalent_claim_value | admin | String |
scoold.security.oauth.users_equivalent_claim_value ProOAauth 2.0 claim used for denying access to OAuth2 users not having it, unlessthey already have the admin or moderator roles assigned. Alternatives: security.oauthsecond.users_equivalent_claim_value, security.oauththird.users_equivalent_claim_value | | String |
scoold.security.oauth.domainOAauth 2.0 domain name for constructing user email addresses in case they are missing. Alternatives: security.oauthsecond.domain, security.oauththird.domain | | String |
scoold.security.oauth.providerThe text on the button for signing in with OAuth2 or OIDC. | Continue with OpenID Connect | String |
scoold.security.oauth.appid_in_state_param_enabledEnable/disable the use of the OAauth 2.0 state parameter to designate your Para app id. Some OAauth 2.0 servers throw errors if the length of the state parameter is less than 8 chars. | true | Boolean |
scoold.security.oauth.send_scope_to_token_endpointEnable/disable sending the OAauth 2.0 scope parameter in the token request. Some OAuth 2.0 servers require this to be turned off. | true | Boolean |
| Property key & Description | Default Value | Type |
|---|---|---|
scoold.new_users_can_commentEnable/disable the ability for users with reputation below 100 to comments on posts. | true | Boolean |
scoold.posts_need_approvalEnable/disable the need for approval of new posts (both questions and answers) by a moderator. | false | Boolean |
scoold.answers_approved_byControls who is able to mark an answer as accepted. Possible values are default (author and moderators), admins (admins only), moderators (moderators and admins). | default | String |
scoold.answers_need_approvalEnable/disable the need for approval of new answers by a moderator. | false | Boolean |
scoold.wiki_answers_enabled ProEnable/disable the ability for users to create wiki-style answers, editable by everyone. | true | Boolean |
scoold.media_recording_allowed ProEnable/disable support for attaching recorded videos and voice messages to posts. | true | Boolean |
scoold.delete_protection_enabledEnable/disable the ability for authors to delete their own question, when it already has answers and activity. | true | Boolean |
scoold.max_text_lengthThe maximum text length of each post (question or answer). Longer content will be truncated. | 20000 | Integer |
scoold.max_tags_per_postThe maximum number of tags a question can have. The minimum is 0 - then the default tag is used. | 5 | Integer |
scoold.min_tags_per_postThe minimum number of tags a question must have. The minimum is 0. | 0 | Integer |
scoold.tag_creation_allowedEnable/disable tag creation by normal users. If disabled, only admins and moderators can create new tags. | true | Boolean |
scoold.max_replies_per_postThe maximum number of answers a question can have. | 500 | Integer |
scoold.max_comments_per_idThe maximum number of comments a post can have. | 1000 | Integer |
scoold.max_comment_lengthThe maximum length of each comment. | 600 | Integer |
scoold.max_mentions_in_posts ProThe maximum number of mentioned users a post can have. | 10 | Integer |
scoold.anonymous_posts_enabled ProEnable/disable the ability for unathenticated users to create new questions. | false | Boolean |
scoold.nearme_feature_enabledEnable/disable the ability for users to attach geolocation data to questions and location-based filtering of questions. | false | Boolean |
scoold.merge_question_bodiesEnable/disable the merging of question bodies when two questions are merged into one. | true | Boolean |
scoold.max_similar_postsThe maximum number of similar posts which will be displayed on the side. | 7 | Integer |
scoold.default_question_tagThe default question tag, used when no other tags are provided by its author. | | String |
scoold.posts_rep_thresholdThe minimum reputation an author needs to create a post without approval by moderators. This is only required if new posts need apporval. | 100 | Integer |
Spaces
Section titled “Spaces”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.auto_assign_spacesA comma-separated list of spaces to assign to all new users. | | String |
scoold.reset_spaces_on_new_assignmentSpaces delegated from identity providers will overwrite the existing ones for users. | true | Boolean |
scoold.mods_access_all_spacesBy default, moderators have access to and can edit content in all spaces. When disabled, moderators can only access the spaces they are assigned to by admins. | true | Boolean |
Reputation and Rewards
Section titled “Reputation and Rewards”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.answer_voteup_reward_authorReputation points given to author of answer as reward when a user upvotes it. | 10 | Integer |
scoold.question_voteup_reward_authorReputation points given to author of question as reward when a user upvotes it. | 5 | Integer |
scoold.voteup_reward_authorReputation points given to author of comment or other post as reward when a user upvotes it. | 2 | Integer |
scoold.answer_approve_reward_authorReputation points given to author of answer as reward when the question’s author accepts it. | 10 | Integer |
scoold.answer_approve_reward_voterReputation points given to author of question who accepted an answer. | 3 | Integer |
scoold.answer_create_reward_authorReputation points given to author who added an answer to a question (awarded once per question). | 5 | Integer |
scoold.post_votedown_penalty_authorReputation points taken from author of post as penalty when their post was downvoted. | 3 | Integer |
scoold.post_votedown_penalty_voterReputation points taken from the user who downvotes any content. Discourages downvoting slightly. | 1 | Integer |
scoold.voter_ifhasNumber of votes (up or down) needed from a user for earning the voter badge. | 100 | Integer |
scoold.commentator_ifhasNumber of comments a user needs to have posted for earning the commentator badge. | 100 | Integer |
scoold.critic_ifhasNumber of cast downvotes needed from a user for earning the critic badge. | 10 | Integer |
scoold.supporter_ifhasNumber of cast upvotes needed from a user for earning the supporter badge. | 50 | Integer |
scoold.goodquestion_ifhasVotes needed on a question before its author gets to earn the good question badge. | 20 | Integer |
scoold.goodanswer_ifhasVotes needed on an answer before its author gets to earn the good answer badge. | 10 | Integer |
scoold.enthusiast_ifhasReputation points needed for earning the enthusiast badge. | 100 | Integer |
scoold.freshman_ifhasReputation points needed for earning the freshman badge. | 300 | Integer |
scoold.scholar_ifhasReputation points needed for earning the scholar badge. | 500 | Boolean |
scoold.teacher_ifhasReputation points needed for earning the teacher badge. | 1000 | Integer |
scoold.geek_ifhasReputation points needed for earning the geek badge. | 9000 | Integer |
File Storage
Section titled “File Storage”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.uploads_enabled ProEnable/disable file uploads. | true | Boolean |
scoold.file_uploads_dir ProThe directory (local or in the cloud) where files will be stored. | uploads | String |
scoold.uploads_require_auth ProEnable/disable the requirement that uploaded files can only be accessed by authenticated users. | false | Boolean |
scoold.allowed_upload_formats ProA comma-separated list of allowed MIME types in the format extension:mime_type, e.g.py:text/plain or just the extensions py,yml | | String |
scoold.s3_bucket ProAWS S3 bucket name as target for storing files. | | String |
scoold.s3_path ProAWS S3 object prefix (directory) inside the bucket. | | String |
scoold.s3_region ProAWS S3 region. | | String |
scoold.s3_endpoint ProAWS S3 endpoint override. The S3 region will be ignored if this is set. Can be used for connecting to S3-compatible storage providers. | | String |
scoold.s3_access_key ProAWS S3 access key. | | String |
scoold.s3_secret_key ProAWS S3 secret key. | | String |
scoold.blob_storage_account ProAzure Blob Storage account ID. | | String |
scoold.blob_storage_token ProAzure Blob Storage token. | | String |
scoold.blob_storage_container ProAzure Blob Storage container. | | String |
scoold.blob_storage_path ProAzure Blob Storage path prefix (subfolder) within a container. | | String |
Customization
Section titled “Customization”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.default_language_codeThe default language code to use for the site. Set this to make the site load a different language from English. | | String |
scoold.welcome_messageAdds a brief intro text inside a banner at the top of the main page for new visitors to see.Not shown to authenticated users. | | String |
scoold.welcome_message_onloginAdds a brief intro text inside a banner at the top of the page. Shown to authenticated users only. | | String |
scoold.welcome_message_preloginAdds a brief intro text inside a banner at the top of the page. Shown only on the ‘Sign in’ page. | | String |
scoold.dark_mode_enabledEnable/disable the option for users to switch to the dark theme. | true | Boolean |
scoold.meta_descriptionThe content inside the description <meta> tag. | Scoold is friendly place for knowledge sharing and collaboration... | String |
scoold.meta_keywordsThe content inside the keywords <meta> tag. | knowledge base, knowledge sharing, collaboration, wiki... | String |
scoold.show_brandingEnable/disable the ‘Powered by Scoold’ branding in the footer. | true | Boolean |
scoold.mathjax_enabled ProEnable/disable support for MathJax and LaTeX for scientific expressions in Markdown. | false | Boolean |
scoold.gravatars_enabledEnable/disable support for Gravatars. | true | Boolean |
scoold.gravatars_patternThe pattern to use when displaying empty/anonymous gravatar pictures. | retro | String |
scoold.avatar_repository previewThe avatar repository - one of imgur, cloudinary. | | String |
scoold.footer_htmlSome custom HTML content to be added to the website footer. | | String |
scoold.navbar_link1_urlThe URL of an extra custom link which will be added to the top navbar. | | String |
scoold.navbar_link1_textThe title of an extra custom link which will be added to the top navbar. | Link1 | String |
scoold.navbar_link1_targetThe target attribute of an extra custom link which will be added to the top navbar. | | String |
scoold.navbar_link2_urlThe URL of an extra custom link which will be added to the top navbar. | | String |
scoold.navbar_link2_textThe title of an extra custom link which will be added to the top navbar. | Link2 | String |
scoold.navbar_link2_targetThe target attribute of an extra custom link which will be added to the top navbar. | | String |
scoold.navbar_menu_link1_urlThe URL of an extra custom link which will be added to user’s dropdown menu. Only shown to authenticated users. | | String |
scoold.navbar_menu_link1_textThe title of an extra custom link which will be added to the user’s dropdown menu. | Menu Link1 | String |
scoold.navbar_menu_link1_targetThe target attribute of an extra custom link which will be added to user’s dropdown menu. | | String |
scoold.navbar_menu_link2_urlThe URL of an extra custom link which will be added to user’s dropdown menu. Only shown to authenticated users. | | String |
scoold.navbar_menu_link2_textThe title of an extra custom link which will be added to the user’s dropdown menu. | Menu Link2 | String |
scoold.navbar_menu_link2_targetThe target attribute of an extra custom link which will be added to the user’s dropdown menu. | | String |
scoold.always_hide_comment_formsEnable/disable a visual tweak which keeps all comment text editors closed at all times. | true | Boolean |
scoold.footer_links_enabledEnable/disable all links in the website footer. | true | Boolean |
scoold.emails_footer_htmlThe HTML code snippet to embed at the end of each transactional email message. | <a href="{host_url}">{app_name}</a> • <a href="https://scoold.com">Powered by Scoold</a> | String |
scoold.cookie_consent_requiredEnable/disable the cookie consent popup box and blocks all external JS scripts from loading. Used for compliance with GDPR/CCPA. | false | Boolean |
scoold.fixed_navEnable/disable a fixed navigation bar. | false | Boolean |
scoold.logo_widthThe width of the logo image in the nav bar, in pixels. Used for fine adjustments to the logo size. | 100 | Integer |
scoold.code_highlighting_enabledEnable/disable support for syntax highlighting in code blocks. | true | Boolean |
scoold.max_pagesMaximum number of pages to return as results. | 1000 | Integer |
scoold.numeric_pagination_enabledEnable/disable the numeric pagination style (< 1 2 3...N >). | false | Boolean |
scoold.html_in_markdown_enabledEnable/disable the ability for users to insert basic HTML tags inside Markdown content. | false | Boolean |
scoold.max_items_per_pageMaximum number of results to return in a single page of results. | 30 | Integer |
scoold.avatar_edits_enabledEnable/disable the ability for users to edit their profile pictures. | true | Boolean |
scoold.name_edits_enabledEnable/disable the ability for users to edit their name. | true | Boolean |
Frontend Assets
Section titled “Frontend Assets”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.logo_urlThe URL of the logo in the nav bar. Use a PNG, SVG, JPG or WebP format. | /images/logo.svg | String |
scoold.logo_dark_urlThe URL of the logo in the nav bar used in dark mode. Use a PNG, SVG, JPG or WebP format. | /images/logo.svg | String |
scoold.small_logo_urlThe URL of a smaller logo (only use PNG/JPG!). Used in transactional emails and the meta og:image. | /images/logowhite.png | String |
scoold.cdn_urlA CDN URL where all static assets might be stored. | | String |
scoold.stylesheet_urlA stylesheet URL of a CSS file which will be used as the main stylesheet. This will overwrite all existing CSS styles! | /styles/style.css | String |
scoold.dark_stylesheet_urlA stylesheet URL of a CSS file which will be used when dark mode is enabled. This will overwrite all existing dark CSS styles! | /styles/dark.css | String |
scoold.external_stylesA comma-separated list of external CSS files. These will be loaded after the main stylesheet. | | String |
scoold.external_scripts._id_A map of external JS scripts. These will be loaded after the main JS script. For example: scoold.external_scripts.script1 = "alert('Hi')" | | Map |
scoold.inline_cssSome short, custom CSS snippet to embed inside the <head> element. | | String |
scoold.favicon_urlThe URL of the favicon image. | /images/favicon.ico | String |
scoold.meta_app_iconThe URL of the app icon image in the <meta property='og:image'> tag. | /images/logowhite.png | String |
Mattermost Integration
Section titled “Mattermost Integration”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.mattermost.auth_enabled ProEnable/disable authentication with Mattermost. | false | Boolean |
scoold.mattermost.server_url ProMattermost server URL. | | String |
scoold.mattermost.bot_username ProMattermost bot username. | scoold | String |
scoold.mattermost.bot_icon_url ProMattermost bot avatar URL. | /images/logowhite.png | String |
scoold.mattermost.post_to_space ProDefault space on Scoold where questions created on Mattermost will be published. Set it to workspace for using the team’s name. | | String |
scoold.mattermost.map_channels_to_spaces ProEnable/disable mapping of Mattermost channels to Scoold spaces. When enabled, will create a Scoold space for each Mattermost channel. | false | Boolean |
scoold.mattermost.map_workspaces_to_spaces ProEnable/disable mapping of Mattermost teams to Scoold spaces. When enabled, will create a Scoold space for each Mattermost team. | true | Boolean |
scoold.mattermost.max_notification_webhooks ProThe maximum number of incoming webhooks which can be created on Scoold. Each webhook links a Mattermost channel to Scoold. | 10 | Integer |
scoold.mattermost.notify_on_new_answer ProEnable/disable the ability for Scoold to send notifications to Mattermost for new answers. | true | Boolean |
scoold.mattermost.notify_on_new_question ProEnable/disable the ability for Scoold to send notifications to Mattermost for new questions. | true | Boolean |
scoold.mattermost.notify_on_new_comment ProEnable/disable the ability for Scoold to send notifications to Mattermost for new comments. | true | Boolean |
scoold.mattermost.dm_on_new_comment ProEnable/disable the ability for Scoold to send direct messages to Mattermost users for new comments. | false | Boolean |
scoold.mattermost.default_question_tags ProDefault question tags for questions created on Mattermost (comma-separated list). | via-mattermost | String |
Slack Integration
Section titled “Slack Integration”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.slack.auth_enabled ProEnable/disable authentication with Slack. | false | Boolean |
scoold.slack.app_id ProThe Slack app ID (first ID from the app’s credentials, not the OAuth2 Client ID). | | String |
scoold.slack.signing_secret ProSlack signing secret key for verifying request signatures. | x | String |
scoold.slack.max_notification_webhooks ProThe maximum number of incoming webhooks which can be created on Scoold. Each webhook links a Slack channel to Scoold. | 10 | Integer |
scoold.slack.map_channels_to_spaces ProEnable/disable mapping of Slack channels to Scoold spaces. When enabled, will create a Scoold space for each Slack channel. | false | Boolean |
scoold.slack.map_workspaces_to_spaces ProEnable/disable mapping of Slack teams to Scoold spaces. When enabled, will create a Scoold space for each Slack team. | true | Boolean |
scoold.slack.post_to_space ProDefault space on Scoold where questions created on Slack will be published. Set it to workspace for using the team’s name. | | String |
scoold.slack.default_title ProDefault question title for questions created on Slack. | A question from Slack | String |
scoold.slack.notify_on_new_answer ProEnable/disable the ability for Scoold to send notifications to Slack for new answers. | true | Boolean |
scoold.slack.notify_on_new_question ProEnable/disable the ability for Scoold to send notifications to Slack for new questions. | true | Boolean |
scoold.slack.notify_on_new_comment ProEnable/disable the ability for Scoold to send notifications to Slack for new comments. | true | Boolean |
scoold.slack.dm_on_new_comment ProEnable/disable the ability for Scoold to send direct messages to Slack users for new comments. | false | Boolean |
scoold.slack.default_question_tags ProDefault question tags for questions created on Slack (comma-separated list). | via-slack | String |
Microsoft Teams Integration
Section titled “Microsoft Teams Integration”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.teams.auth_enabledEnable/disable authentication with Microsoft. | false | Boolean |
scoold.teams.bot_id ProTeams bot ID. | | String |
scoold.teams.bot_secret ProTeams bot secret key. | | String |
scoold.teams.bot_service_url ProTeams bot service URL. | https://smba.trafficmanager.net/emea/ | String |
scoold.teams.notify_on_new_answer ProEnable/disable the ability for Scoold to send notifications to Teams for new answers. | true | Boolean |
scoold.teams.notify_on_new_question ProEnable/disable the ability for Scoold to send notifications to Teams for new questions. | true | Boolean |
scoold.teams.notify_on_new_comment ProEnable/disable the ability for Scoold to send notifications to Teams for new comments. | true | Boolean |
scoold.teams.dm_on_new_comment ProEnable/disable the ability for Scoold to send direct messages to Teams users for new comments. | false | Boolean |
scoold.teams.post_to_space ProDefault space on Scoold where questions created on Teams will be published. Set it to workspace for using the team’s name. | | String |
scoold.teams.map_channels_to_spaces ProEnable/disable mapping of Teams channels to Scoold spaces. When enabled, will create a Scoold space for each Teams channel. | false | Boolean |
scoold.teams.map_workspaces_to_spaces ProEnable/disable mapping of Teams teams to Scoold spaces. When enabled, will create a Scoold space for each Teams team. | true | Boolean |
scoold.teams.private_teams_listing_allowed ProEnable/disable the listing of private teams on the Administration page when configuring notification webhooks for Scoold spaces. | true | Boolean |
scoold.teams.max_notification_webhooks ProThe maximum number of incoming webhooks which can be created on Scoold. Each webhook links a Teams channel to Scoold. | 10 | Integer |
scoold.teams.default_title ProDefault question title for questions created on Teams. | A question from Microsoft Teams | String |
scoold.teams.default_question_tags ProDefault question tags for questions created on Teams (comma-separated list). | via-teams | String |
| Property key & Description | Default Value | Type |
|---|---|---|
scoold.scim_enabled Pro previewEnable/disable support for SCIM user provisioning. | false | Boolean |
scoold.scim_secret_token Pro previewSCIM secret token. | | String |
scoold.scim_allow_provisioned_users_only Pro previewEnable/disable the restriction that only SCIM-provisioned users can sign in. | false | Boolean |
scoold.scim_map_groups_to_spaces Pro previewEnable/disable mapping of SCIM groups to Scoold spaces. | true | Boolean |
scoold.security.scim.admins_group_equivalent_to Pro previewSCIM group whose members will be promoted to administrators on Scoold. | admins | String |
scoold.security.scim.mods_group_equivalent_to Pro previewSCIM group whose members will be promoted to moderators on Scoold. | mods | String |
Miscellaneous
Section titled “Miscellaneous”| Property key & Description | Default Value | Type |
|---|---|---|
scoold.security.redirect_uriPublicly accessible, internet-facing URL of the Para endpoint where authenticated users will be redirected to, from the identity provider. Used when Para is hosted behind a proxy. | http://localhost:8080 | String |
scoold.security.hosturl_aliasesProvides a comma-separated list of alternative host_url public addresses to be used when returning from an authentication request to Para backend. This will override the hostname defined in signin_success and signin_failure and allow Scoold to run on multiple different public URLs while each separate server shares the same configuration. Each must be a valid URL | | String |
scoold.redirect_signin_to_idpEnable/disable the redirection of users from the signin page, directly to the IDP login page. | false | Boolean |
scoold.imgur_client_id previewImgur API client id. Used for uploading avatars to Imgur. Note: Imgur have some breaking restrictions going on in their API and this might not work. | | String |
scoold.cloudinary_url previewCloudinary URL. Used for uploading avatars to Cloudinary. | | String |
scoold.max_fav_tagsMaximum number of favorite tags. | 50 | Integer |
scoold.batch_request_sizeMaximum batch size for the Para client pagination requests. | 0 | Integer |
scoold.signout_urlThe URL which users will be redirected to after they click ‘Sign out’. Can be a page hosted externally. | /signin?code=5&success=true | String |
scoold.vote_expires_after_secVote expiration timeout, in seconds. Users can vote again on the same content after this period has elapsed. Default is 30 days. | 2592000 | Integer |
scoold.vote_locked_after_secVote locking period, in seconds. Vote cannot be changed after this period has elapsed. Default is 30 sec. | 30 | Integer |
scoold.downvotes_enabledEnable/disable negative votes. | true | Boolean |
scoold.import_batch_sizeMaximum number objects to read and send to Para when importing data from a backup. | 100 | Integer |
scoold.connection_retries_maxMaximum number of connection retries to Para. | 10 | Integer |
scoold.connection_retry_interval_secPara connection retry interval, in seconds. | 10 | Integer |
scoold.rewrite_inbound_links_with_fqdnIf set, links to Scoold in emails will be replaced with a public-facing FQDN. | | String |
scoold.cluster_nodesTotal number of nodes present in the cluster when Scoold is deployed behind a reverse proxy. | 1 | Integer |
scoold.autoinit.root_app_secret_keyIf configured, Scoold will try to automatically initialize itself with Para and create its own Para app, called app:scoold. The keys for that new app will be saved in the configuration file. | | String |
scoold.autoinit.para_config_fileDoes the same as scoold.autoinit.root_app_secret_key but tries to read the secret key for the root Para app from the Para configuration file, wherever that may be. | | String |
scoold.sitemap_enabledEnable/disable the generation of /sitemap.xml. | true | Boolean |
scoold.access_log_enabledEnable/disable the Scoold access log. | false | Boolean |
scoold.user_autocomplete_details_enabled proEnable/disable extra details when displaying user results in autocomplete. | false | Boolean |
scoold.user_autocomplete_max_results proControls the maximum number of search results in users’ autocomplete. | 10 | Integer |
scoold.users_discoverability_enabledEnable/disable discoverability of users on the site. If disabled, user profiles and the users page will be hidden for all except admins. | true | Boolean |
scoold.notifications_as_reports_enabledEnable/disable copies of new content notifications in the form of reports on the site. Instead of checking their email, mods will be able to view and act on those on the reports page. | false | Boolean |
scoold.akismet_api_keyAPI Key for Akismet for activating anti-spam protection of all posts. | | String |
scoold.automatic_spam_protection_enabledEnable/disable autonomous action taken against spam posts - if detected a spam post will be blocked without notice. By default, spam posts will require action and approval by admins. | true | Boolean |
scoold.data_import_export_enabledEnable/disable backup and restore features on the Administration page. | true | Boolean |
scoold.config_editing_enabledEnable/disable live configuration editing for admins on the Administration page. | true | Boolean |
scoold.ai_training_allowedEnable/disable permission for AI training on content from the website, using the new RSL standard. | false | Boolean |