Admin Chat Webhook (optional)
field | admin_chat_webhook |
env var | ADMIN_CHAT_WEBHOOK |
General
Site Name (optional)
The name of the site, it will show up in the site title, and other places.
field | general.name |
env var | SITE_NAME |
default | Karrot |
Site Logo URL (optional)
URL to an image that will be used as the logo, a PNG with transparent background is recommended
field | general.logo |
env var | SITE_LOGO |
PNG with transparent background is recommended because there is not
good enough support in email clients for other formats, e.g. SVG.
For now, you have to find a way to host the file yourself and provide
the URL here. In the future you will be able to upload it here.
Account
Email Verification Time (hours) (optional)
Time until a verification code expires
field | account.email_verification_time_limit_hours |
env var | EMAIL_VERIFICATION_TIME_LIMIT_HOURS |
default | 168 |
Password Reset Time (minutes) (optional)
Time until a password reset link expires
field | account.password_reset_time_limit_minutes |
env var | PASSWORD_RESET_TIME_LIMIT_MINUTES |
default | 180 |
Account Delete Time (minutes) (optional)
Time until an account delete email link expires
field | account.account_delete_time_limit_minutes |
env var | ACCOUNT_DELETE_TIME_LIMIT_MINUTES |
default | 180 |
Configure email settings
Email Backend (optional)
Choose how sending email is handled
field | email.backend |
env var | EMAIL_BACKEND |
default | console |
From Address (optional)
field | email.from_email |
env var | EMAIL_FROM |
default | karrot@example.com |
examples | karrot@example.com |
Email Reply Domain (optional)
Domain to which email replies go to
field | email.reply_domain |
env var | EMAIL_REPLY_DOMAIN |
examples | replies.example.com |
Email Reply Trimmer URL (optional)
Service to handle email reply trimming
field | email.reply_trimmer_url |
env var | EMAIL_REPLY_TRIMMER_URL |
examples | http://localhost:4567/trim |
A service to trim the reply section from emails when receiving incoming emails.
See https://github.com/karrot-dev/email_reply_trimmer_service
SMTP
Host
The host to use for sending email
field | email.smtp.host |
env var | SMTP_HOST |
Port (optional)
Port to use for the SMTP server
field | email.smtp.port |
env var | SMTP_PORT |
default | 25 |
User (optional)
Username to use for the SMTP server
field | email.smtp.user |
env var | SMTP_USER |
Password (optional)
Password to use for the SMTP server
field | email.smtp.password |
env var | SMTP_PASSWORD |
Use TLS (optional)
Use explicit TLS connection, generally on port 587
field | email.smtp.use_tls |
env var | SMTP_USE_TLS |
default | False |
Use SSL (optional)
Use implicit TLS, generally on port 465
field | email.smtp.use_ssl |
env var | SMTP_USE_SSL |
default | False |
SSL Keyfile (optional)
Path to a PEM-formatted private key file
field | email.smtp.ssl_keyfile |
env var | SMTP_SSL_KEYFILE |
SSL Certfile (optional)
Path to a PEM-formatted certificate chain file
field | email.smtp.ssl_certfile |
env var | SMTP_SSL_CERTFILE |
Postal
Configure settings to send email via a postal server
Postal is a self hostable email server.
You can find out more at https://postalserver.io/
Postal API URL (optional)
field | email.postal.api_url |
env var | POSTAL_API_URL |
Postal API Key (optional)
field | email.postal.api_key |
env var | POSTAL_API_KEY |
Postal Webhook Key (optional)
Used for Postal to call back to Karrot
field | email.postal.webhook_key |
env var | POSTAL_WEBHOOK_KEY |
Webhooks allow Postal to make requests to Karrot. The webhook key is what ensures that happens securely.
The webhooks have two purposes:
- receiving tracking events
- receiving incoming email
You might configure this even if you are not using Postal for sending email as you
can still use Postal for handling incoming email in that scenario.
Meet
Options for video calling
Video calling is powered by LiveKit.
This can be self-hosted, or you can use their hosted option.
LiveKit Endpoint (optional)
field | meet.livekit_endpoint |
env var | MEET_LIVEKIT_ENDPOINT |
LiveKit API Key (optional)
field | meet.livekit_api_key |
env var | MEET_LIVEKIT_API_KEY |
LiveKit API Secret (optional)
field | meet.livekit_api_secret |
env var | MEET_LIVEKIT_API_SECRET |
Use LiveKit room prefix (optional)
If enabled prefixes room names with the base URL,allowing multiple deployments to use the same instance
field | meet.use_livekit_room_prefix |
env var | MEET_USE_LIVEKIT_ROOM_PREFIX |
default | False |
Web Push
Settings for web push notifications
VAPID Public Key
field | web_push.vapid_public_key |
env var | VAPID_PUBLIC_KEY |
VAPID Private Key
field | web_push.vapid_private_key |
env var | VAPID_PRIVATE_KEY |
VAPID Admin Email
field | web_push.vapid_admin_email |
env var | VAPID_ADMIN_EMAIL |
examples | admin@example.com |
Discourse
URL
field | discourse.url |
env var | PROXY_DISCOURSE_URL |
examples | https://community.karrot.world , https://forum.example.com |
Banner Topic ID (optional)
Topic to use for the banner inside Karrot
field | discourse.banner_topic_id |
env var | FORUM_BANNER_TOPIC_ID |
examples | 930 |
Discussions Feed (optional)
Feed to use for the discussions section
field | discourse.discussions_feed |
env var | FORUM_DISCUSSIONS_FEED |
examples | latest.json |
Upload
Max Upload Size (optional)
Maximum size allowed for image or attachment uploads
field | uploads.max_size |
env var | FILE_UPLOAD_MAX_SIZE |
default | 10m |
examples | 500k , 20m , 1g |
Use Accel Redirect (optional)
Allows nginx to serve files that were uploaded by users, you must also configure this in nginx
field | uploads.use_accel_redirect |
env var | FILE_UPLOAD_USE_ACCEL_REDIRECT |
default | False |
Issues
voting_duration_days (optional)
field | issues.voting_duration_days |
env var | VOTING_DURATION_DAYS |
default | 7 |
voting_due_soon_hours (optional)
field | issues.voting_due_soon_hours |
env var | VOTING_DUE_SOON_HOURS |
default | 12 |
Conversations
message_edit_days (optional)
field | conversations.message_edit_days |
env var | MESSAGE_EDIT_DAYS |
default | 2 |
conversation_closed_days (optional)
field | conversations.conversation_closed_days |
env var | CONVERSATION_CLOSED_DAYS |
default | 7 |
Groups
Trust
group_editor_trust_max_threshold (optional)
Maximum trust needed to get editor role
field | groups.trust.group_editor_trust_max_threshold |
env var | GROUP_EDITOR_TRUST_MAX_THRESHOLD |
default | 3 |
The amount of trust needed to get editor role changes depending on how many people are in the group, as the group gets bigger, more trust is needed. This is the maximum amount of trust that will ever be needed.
Group Inactivity
For managing inactive groups
days_until_group_inactive (optional)
field | groups.inactivity.days_until_group_inactive |
env var | NUMBER_OF_DAYS_UNTIL_GROUP_INACTIVE |
default | 14 |
Membership Inactivity
For managing inactive users in groups
days_until_inactive_in_group (optional)
For marking users inactive
field | groups.membership_inactivity.days_until_inactive_in_group |
env var | NUMBER_OF_DAYS_UNTIL_INACTIVE_IN_GROUP |
default | 30 |
inactive_months_until_removal_notification (optional)
For sending users an email telling them they will be removed from a group
field | groups.membership_inactivity.inactive_months_until_removal_notification |
env var | NUMBER_OF_INACTIVE_MONTHS_UNTIL_REMOVAL_FROM_GROUP_NOTIFICATION |
default | 6 |
days_after_removal_notification_we_actually_remove_them (optional)
For actually removing them, after they have been notified
field | groups.membership_inactivity.days_after_removal_notification_we_actually_remove_them |
env var | NUMBER_OF_DAYS_AFTER_REMOVAL_NOTIFICATION_WE_ACTUALLY_REMOVE_THEM |
default | 7 |
Places
Max Weeks in Advance (optional)
Max allowable value for how many weeks in advance activities are created for a series
field | places.store_max_weeks_in_advance |
env var | PLACE_MAX_WEEKS_IN_ADVANCE , STORE_MAX_WEEKS_IN_ADVANCE |
default | 52 |
This is still dependent on setting it for a specific place, which can use a lower value, but not higher
Activities
Feedback Period (days) (optional)
Time period after an activity that feedback can be submitted
field | activities.feedback_possible_days |
env var | FEEDBACK_POSSIBLE_DAYS |
default | 30 |
Activity Due Soon Notification (hours) (optional)
Time before activity is due that an upcoming activities notification will be issued
field | activities.activity_due_soon_hours |
env var | ACTIVITY_DUE_SOON_HOURS |
default | 6 |
Activity Reminder (hours) (optional)
Time before activity is due that a push notification will be sent
field | activities.activity_reminder_hours |
env var | ACTIVITY_REMINDER_HOURS |
default | 3 |
Activity Left Late (hours) (optional)
Time before activity is due to start that it is considered too late
field | activities.activity_leave_late_hours |
env var | ACTIVITY_LEAVE_LATE_HOURS |
default | 24 |
This will be considered when viewing the activity statistics