|
--- |
|
:site: |
|
:host: <%= ENV['HOST'] || 'localhost:3000' %> |
|
:domains: |
|
:enabled: <%= ENV['DOMAINS_ENABLED'] || false %> |
|
# The default domain used for link URLs. When not set or empty, |
|
# site.host is used. |
|
:default: <%= ENV['DEFAULT_DOMAIN'] || nil %> |
|
# The cluster type determines how the application will support |
|
# multiple domains. The default is nil which means that the |
|
# application itself is responsible for handling multiple domains. |
|
:cluster: |
|
:type: <%= ENV['CLUSTER_TYPE'] || nil %> |
|
:api_key: <%= ENV['APPROXIMATED_API_KEY'] || nil %> |
|
:cluster_ip: <%= ENV['APPROXIMATED_PROXY_CLUSTER_IP'] || '<CLUSTER_IP>' %> |
|
:cluster_name: <%= ENV['APPROXIMATED_PROXY_CLUSTER_NAME'] || '<CLUSTER_NAME>' %> |
|
:vhost_target: <%= ENV['APPROXIMATED_PROXY_VHOST_TARGET'] || '<VHOST_TARGET>' %> |
|
# Turns https/http on or off when generating links |
|
:ssl: <%= ENV['SSL'] == 'true' %> |
|
# IMPORTANT: After setting the secret, it should not be changed. |
|
# Ensure to create and store a backup in a secure offsite |
|
# location. Changing the secret can lead to unforeseen issues. |
|
:secret: <%= ENV['SECRET'] || 'CHANGEME' %> |
|
# Registration and Authentication settings |
|
:authentication: |
|
# Can be disabled altogether, including API authentication. |
|
:enabled: <%= ENV['AUTH_ENABLED'] || true %> |
|
# Allow users to create accounts. This can be disabled if you plan |
|
# to create accounts manually or enable during setup when accounts |
|
# can be created and then disabled to prevent any new users from |
|
# creating accounts. |
|
:signup: <%= ENV['AUTH_SIGNUP'] || true %> |
|
# Generally if you allow registration, you allow signin. But there |
|
# are circumstances where it's helpful to turn off authentication |
|
# temporarily. |
|
:signin: <%= ENV['AUTH_SIGNIN'] || true %> |
|
# By default, new accounts need to verify their email address before |
|
# they can sign in. This is a security measure to prevent spamming |
|
# and abuse of the system. If you're running a private instance or |
|
# an instance for your team or company, you can disable this feature |
|
# to make it easier for users to sign in. |
|
:autoverify: <%= ENV['AUTH_AUTOVERIFY'] || false %> |
|
:authenticity: |
|
:type: <%= ENV['AUTHENTICITY_TYPE'] || 'altcha' %> |
|
:secret_key: <%= ENV['AUTHENTICITY_SECRET_KEY'] || '<REPLACE_WITH_STRONG_HMAC_KEY>' %> |
|
:plans: |
|
:enabled: <%= ENV['PLANS_ENABLED'] || false %> |
|
:stripe_key: <%= ENV['STRIPE_KEY'] || nil %> |
|
:support: |
|
:host: <%= ENV['SUPPORT_HOST'] || nil %> |
|
:redis: |
|
:uri: <%= ENV['REDIS_URL'] || 'redis://[email protected]:6379/0' %> |
|
:colonels: |
|
# Email addresses listed below will be granted automatic |
|
# administrative privileges upon account creation. These |
|
# accounts will have full control over the system. |
|
- <%= ENV['COLONEL'] || '[email protected]' %> |
|
:emailer: |
|
:mode: <%= ENV['EMAILER_MODE'] || :smtp %> |
|
:from: <%= ENV['FROM'] || '[email protected]' %> |
|
:fromname: <%= ENV['FROMNAME'] || 'Jan' %> |
|
:host: <%= ENV['SMTP_HOST'] || 'localhost' %> |
|
:port: <%= ENV['SMTP_PORT'] || 587 %> |
|
:user: <%= ENV['SMTP_USERNAME'] || 'CHANGEME' %> |
|
:pass: <%= ENV['SMTP_PASSWORD'] || 'CHANGEME' %> |
|
:pass: <%= ENV['SMTP_PASSWORD'] || 'CHANGEME' %> |
|
:auth: <%= ENV['SMTP_AUTH'] || 'login' %> |
|
:tls: <%= ENV['SMTP_TLS'] || true %> |
|
:incoming: |
|
:enabled: false |
|
:email: [email protected] |
|
:passphrase: abacus |
|
:mail: |
|
:truemail: |
|
# Available validation types: :regex, :mx, :mx_blacklist, :smtp |
|
:default_validation_type: :regex |
|
# Required for :smtp validation |
|
:verifier_email: <%= ENV['VERIFIER_EMAIL'] || '[email protected]' %> |
|
#:verifier_domain: <%= ENV['VERIFIER_DOMAIN'] || 'example.com' %> |
|
#:connection_timeout: 2 |
|
#:response_timeout: 2 |
|
#:connection_attempts: 3 |
|
#:validation_type_for: |
|
# 'example.com': :regex |
|
# |
|
# Truemail will only validate email addresses that match the |
|
# domains listed in :allowed_domains. If the domain is not |
|
# listed, the email address will always be considered invalid. |
|
:allowed_domains_only: false |
|
# |
|
# Email addresses in this list will always be valid. |
|
#:allowed_emails: [] |
|
# |
|
# Email addresses in this list will always be invalid. |
|
#:blocked_emails: [] |
|
# |
|
# Addresses with these domains will always be valid |
|
#:allowed_domains: [] |
|
# |
|
# Addresses with these domains will always be invalid |
|
#:blocked_domains: [] |
|
# |
|
# Exclude these IP addresses from the MX lookup process. |
|
#:blocked_mx_ip_addresses: [] |
|
# |
|
# Name servers to use for MX et al record lookup. |
|
# Default is CloudFlare, Google, Oracle/OpenDNS servers. |
|
:dns: |
|
- 1.1.1.1 |
|
- 8.8.4.4 |
|
- 208.67.220.220 |
|
#:smtp_port: 25 |
|
# |
|
# End smtp validation after the first invalid response rather than |
|
# retrying, followed by trying the next server. Can reduce the time |
|
# time to validate an email address, but may not catch all issues. |
|
:smtp_fail_fast: false |
|
# |
|
# Parse the content of the SMTP error message to determine if the |
|
# email address is valid. This can be useful for some SMTP servers |
|
# that don't return exact answers. |
|
:smtp_safe_check: true |
|
# |
|
# Whether to disable the RFC MX lookup flow. When true, only DNS |
|
# validation will be performed on MX and Null MX records. |
|
:not_rfc_mx_lookup_flow: false |
|
# |
|
# Override default regular expression pattern for email addresses |
|
# and/or the content in SMTP error messages. |
|
#:email_pattern: /regex_pattern/ |
|
#:smtp_error_body_pattern: /regex_pattern/ |
|
# |
|
# Log to the console, a file, or both. The ruby process must have |
|
# write access to the log file. The log file will be created if it |
|
# does not exist. Log file rotation is not handled by the app. |
|
:logger: |
|
# One of: :error (default), :unrecognized_error, |
|
# :recognized_error, :all. |
|
tracking_event: :error |
|
stdout: true |
|
# log_absolute_path: '/home/app/log/truemail.log' |
|
:locales: |
|
# A list of ISO language codes (e.g., 'en' for English, 'es' |
|
# for Spanish, etc.). There is a corresponding file in etc/locales |
|
# with the same name containing the translated text. If it's not |
|
# selected automatically, users are able to select their preferred |
|
# language by using the links on the translations page. |
|
# |
|
# NOTE: The default locale is the first item. |
|
- en |
|
- ar |
|
- bg |
|
- ca_ES |
|
- cn |
|
- cs |
|
- da_DK |
|
- de |
|
- el_GR |
|
- en |
|
- es |
|
- fr |
|
- fr_FR |
|
- he |
|
- hu |
|
- it_IT |
|
- nl |
|
- pl |
|
- pt_BR |
|
- pt_PT |
|
- ru |
|
- sl_SI |
|
- sv_SE |
|
- tr |
|
- uk |
|
- vi |
|
:services: |
|
:sentry: |
|
:dsn: <%= ENV['SENTRY_DSN'] || 'CHANGEME' %> |
|
:enabled: <%= !ENV['SENTRY_DSN'].nil? %> |
|
:limits: |
|
# This section defines rate limits for various events per user |
|
# per a rolling 20 minute period. Each key is an event name |
|
# and the value is the max count allowed. Changes require |
|
# restart of the app. |
|
:create_secret: 1000 |
|
:create_account: 10 |
|
:update_account: 10 |
|
:email_recipient: 50 |
|
:send_feedback: 10 |
|
:authenticate_session: 5 |
|
:homepage: 1000 |
|
:dashboard: 1000 |
|
:failed_passphrase: 5 |
|
:show_metadata: 1000 |
|
:show_secret: 1000 |
|
:burn_secret: 1000 |
|
:destroy_account: 2 |
|
:forgot_password_request: 2 |
|
:forgot_password_reset: 3 |
|
:generate_apikey: 10 |
|
:add_domain: 30 |
|
:remove_domain: 30 |
|
:list_domains: 100 |
|
:get_domain: 100 |
|
:verify_domain: 25 |
|
:development: |
|
# Enabling development mode here directs the application to expect |
|
# a vite server to be running on port 5173 and will attempt to |
|
# connect to that server for each request. This is useful for |
|
# development when you want to use a local instance of the frontend |
|
# and not have to rebuild it every time you make changes. |
|
# |
|
# $ pnpm run dev |
|
# VITE v5.3.4 ready in 38 ms |
|
# |
|
# ➜ Local: http://localhost:5173/dist/ |
|
# ➜ Network: use --host to expose |
|
# ➜ press h + enter to show help |
|
# |
|
# Disabling development mode will cause the application to use the |
|
# pre-built JS/CSS assets in the "public/web/dist" directory. This |
|
# is useful for production deployments but also for any deployment |
|
# where you're not actively working on the frontend JS/CSS etc. |
|
# Setting RACK_ENV=production disables development mode automatically. |
|
:enabled: <%= ['development', 'dev'].include?(ENV['RACK_ENV']) %> |
|
:debug: <%= ['true', '1', 'yes'].include?(ENV['ONETIME_DEBUG']) %> |
|
:frontend_host: <%= ENV['FRONTEND_HOST'] || 'http://localhost:5173' %> |