mysociety/alaveteli

View on GitHub
config/general.yml-example

Summary

Maintainability
Test Coverage
# general.yml-example:
# Example values for the "general" config file.
#
# Documentation on configuring Alaveteli is available at
# http://alaveteli.org/docs/customising/
#
# Configuration parameters, in YAML syntax.
#
# Copy this file to one called "general.yml" in the same directory.  Or
# have multiple config files and use a symlink to change between them.
#
# Default values for these settings can be found in
# RAILS_ROOT/lib/configuration.rb
#
# ==============================================================================

# Site name appears in various places throughout the site
#
# SITE_NAME - String name of the site (default: 'Alaveteli')
#
# Examples:
#
#   SITE_NAME: 'Alaveteli'
#   SITE_NAME: 'WhatDoTheyKnow'
#
# ---
SITE_NAME: 'Alaveteli'

# Domain used in URLs generated by scripts (e.g. for going in some emails)
#
# DOMAIN - String domain or IP address (default: 'localhost:3000')
#
# Examples:
#
#   DOMAIN: '127.0.0.1:3000'
#   DOMAIN: 'www.example.com'
#
# ---
DOMAIN: 'www.example.org'

# If true forces everyone (in the production environment) to use encrypted
# connections (via https) by redirecting unencrypted connections. This is
# *highly* recommended so that logins can't be intercepted by naughty people.
#
# FORCE_SSL - Boolean (default: true)
#
# ---
FORCE_SSL: true

# ISO country code of country currently deployed in
# (http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
#
# ISO_COUNTRY_CODE - String country code (default: GB)
#
# Examples:
#
#   ISO_COUNTRY_CODE: GB
#
# ---
ISO_COUNTRY_CODE: GB

# ISO currency code of the currency Alaveteli Professional cost should be
# displayed in.
# (https://en.wikipedia.org/wiki/ISO_4217#Active_codes)
#
# Doesn't affect what currency the plans are setup in so this should match what
# is configured at Stripe.com
# (https://stripe.com/docs/currencies)
#
# ISO_CURRENCY_CODE - String currency code (default: GBP)
#
# Examples:
#
#   ISO_CURRENCY_CODE: GBP
#
# ---
ISO_CURRENCY_CODE: GBP

# This is the timezone that times and dates are displayed in
# If not set defaults to UTC.
#
# TIME_ZONE - String time zone (default: UTC)
#
# Examples:
#
#   TIME_ZONE: Australia/Sydney
#   TIME_ZONE: Europe/London
#
# ---
TIME_ZONE: UTC

# These feeds are displayed accordingly on the Alaveteli "blog" page. Currently
# WordPress is the only "officially supported" external blog feed, but other
# feeds may work if they use the same data format.
#
# BLOG_FEED - String url to the blog feed (default: nil)
#
# Examples:
#
#   BLOG_FEED: https://www.mysociety.org/category/projects/whatdotheyknow/feed/
#
# ---
BLOG_FEED: ''

# BLOG_TIMEOUT -  Integer seconds before reading the blog feed fails (default: 60)
#
# Examples:
#
#   BLOG_TIMEOUT: 90
#
# ---
BLOG_TIMEOUT: 60

# Makes your Facebook page/group name available to the application.
#
# FACEBOOK_USERNAME - String Facebook username (default: nil)
#
# Examples:
#
#   FACEBOOK_USERNAME: 'whatdotheyknowcom'
#
# ---
FACEBOOK_USERNAME: ''

# If you want a twitter feed displayed on the "blog" page, provide the
# widget ID and username.
#
# TWITTER_USERNAME - String Twitter username (default: nil)
#
# Examples:
#
#   TWITTER_USERNAME: 'whatdotheyknow'
#
# ---
TWITTER_USERNAME: ''

# Set the widget_id to get the Twitter sidebar on the blog page.
# To get one https://twitter.com/settings/widgets
#
# TWITTER_WIDGET_ID - String widget ID (default: false)
#
# Examples:
#
#   TWITTER_WIDGET_ID: '833549204689320031'
#
# ---
TWITTER_WIDGET_ID: ''

# The locales you want your site to support. If there is more than one, use
# spaces between the entries.
#
# AVAILABLE_LOCALES – String of space-separated locales (default: en)
#
# Examples:
#
#   AVAILABLE_LOCALES: 'en es'
#
# ---
AVAILABLE_LOCALES: 'en'

# Nominate one of the AVAILABLE_LOCALES locales as the default
#
# DEFAULT_LOCALE – String locale (default: en)
#
# Examples:
#
#   DEFAULT_LOCALE: 'en'
#
# ---
DEFAULT_LOCALE: 'en'

# Should Alaveteli try to use the default language of the user's browser?
#
# USE_DEFAULT_BROWSER_LANGUAGE - Boolean (default: true)
#
# Examples:
#
#   USE_DEFAULT_BROWSER_LANGUAGE: true
#
# ---
USE_DEFAULT_BROWSER_LANGUAGE: true

# Are authorities required to respond by law?
#
# AUTHORITY_MUST_RESPOND: Boolean (default: true)
AUTHORITY_MUST_RESPOND: true

# The REPLY...AFTER_DAYS settings define how many days must have passed before
# an answer to a request is officially late.
#
# REPLY_LATE_AFTER_DAYS - Integer (default: 20)
# REPLY_VERY_LATE_AFTER_DAYS - Integer (default: 40)
#
# Examples:
#
#   REPLY_LATE_AFTER_DAYS: 20
#   REPLY_VERY_LATE_AFTER_DAYS: 40
#
# ---
REPLY_LATE_AFTER_DAYS: 20
REPLY_VERY_LATE_AFTER_DAYS: 40

# The WORKING_OR_CALENDAR_DAYS setting can be either "working" (the default) or
# "calendar", and determines which days are counted when calculating whether a
# request is officially late.
#
# WORKING_OR_CALENDAR_DAYS - String in [working, calendar] (default: working)
#
# Examples:
#
#   WORKING_OR_CALENDAR_DAYS: working
#   WORKING_OR_CALENDAR_DAYS: calendar
#
# ---
WORKING_OR_CALENDAR_DAYS: working

# Number of months after which to start closing requests to new responses. When
# a request has not been updated after
# RESTRICT_NEW_RESPONSES_ON_OLD_REQUESTS_AFTER_MONTHS, allow_new_responses_from is
# set to 'authority_only'. After RESTRICT_NEW_RESPONSES_ON_OLD_REQUESTS_AFTER_MONTHS
# * 4, allow_new_responses_from is set to 'nobody'.
#
# RESTRICT_NEW_RESPONSES_ON_OLD_REQUESTS_AFTER_MONTHS - Integer (default: 6)
#
# Examples:
#
#   RESTRICT_NEW_RESPONSES_ON_OLD_REQUESTS_AFTER_MONTHS: 3
#
# ---
RESTRICT_NEW_RESPONSES_ON_OLD_REQUESTS_AFTER_MONTHS: 6

# Specify which public bodies you want to be listed as examples on the home
# page, using their short_names. If you want more than one, separate them with
# semicolons. List is auto-generated if not set.
#
# *Warning:* this is slow — don't use in production!
#
# FRONTPAGE_PUBLICBODY_EXAMPLES - String semicolon-separated list of public
#                                 bodies (default: nil)
#
# Examples:
#
#   FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq'
#   FRONTPAGE_PUBLICBODY_EXAMPLES: 'tgq;foo;bar'
#
# ---
FRONTPAGE_PUBLICBODY_EXAMPLES: ''

# URLs of themes to download and use (when running the rails-post-deploy
# script). The earlier in the list means the templates have a higher priority.
#
# THEME_URLS - Array of theme URLs (default: [])
#
# Examples:
#
#   THEME_URLS:
#     - 'https://github.com/mysociety/alavetelitheme.git'
#     - 'https://github.com/mysociety/whatdotheyknow-theme.git'
#
# ---
THEME_URLS:
  - 'https://github.com/mysociety/alavetelitheme.git'

# When rails-post-deploy installs the themes, it will try to use the branch
# specified by THEME_BRANCH first. If the branch doesn't exist it will fall
# back to using a tagged version specific to your installed alaveteli version,
# and if that doesn't exist it will fall back to master.
#
# THEME_BRANCH - Boolean (default: false)
#
# Examples:
#
#   # Use the develop branch if it exists, otherwise fall back as described
#   THEME_BRANCH: 'develop'
#
#   # try the use-with-alaveteli-xxx branch/tag, otherwise fall back to HEAD
#   THEME_BRANCH: false
#
# ---
THEME_BRANCH: false

# Does a user need to sign in to start the New Request process?
#
# FORCE_REGISTRATION_ON_NEW_REQUEST - Boolean (default: false)
#
# ---
FORCE_REGISTRATION_ON_NEW_REQUEST: false

# Your email domain for incoming mail.
#
# INCOMING_EMAIL_DOMAIN – String domain (default: localhost)
#
# Examples:
#
#   INCOMING_EMAIL_DOMAIN: 'localhost'
#   INCOMING_EMAIL_DOMAIN: 'foifa.com'
#
# ---
INCOMING_EMAIL_DOMAIN: 'localhost'

# An optional prefix to help you distinguish FOI requests.
#
# INCOMING_EMAIL_PREFIX - String (default: foi+)
#
# Examples:
#
#   INCOMING_EMAIL_PREFIX: ''             # No prefix
#   INCOMING_EMAIL_PREFIX: 'alaveteli+'
#
# ---
INCOMING_EMAIL_PREFIX: 'foi+'

# Used for hash in request email address.
#
# INCOMING_EMAIL_SECRET - String (default: dummysecret)
#
# Examples:
#
#   INCOMING_EMAIL_SECRET: '11ae 4e3b 70ff c001 3682 4a51 e86d ef5f'
#
# ---
INCOMING_EMAIL_SECRET: 'xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx'

# Filter incoming mail that looks like spam. Spam can be redirected to the
# holding pen or discarded.
#
# If you filter incoming emails through a spam detector like SpamAssassin, you
# can configure Alaveteli to filter messages with a high spam score. This
# feature requires the messages to contain a header with a numeric spam score,
# and INCOMING_EMAIL_SPAM_ACTION, INCOMING_EMAIL_SPAM_HEADER and
# INCOMING_EMAIL_SPAM_THRESHOLD to be configured before the filtering will take
# effect.
#
# INCOMING_EMAIL_SPAM_ACTION - String or false
#                              Options are 'holding_pen' or 'discard'
#                              (default: false)
# INCOMING_EMAIL_SPAM_HEADER - String (default: 'X-Spam-Score')
# INCOMING_EMAIL_SPAM_THRESHOLD - Integer or false (default: false)
#
# Examples:
#
#   INCOMING_EMAIL_SPAM_ACTION: 'holding_pen'
#   INCOMING_EMAIL_SPAM_HEADER: 'X-mySociety-Spam-Score'
#   INCOMING_EMAIL_SPAM_THRESHOLD: 20
#
# ---
INCOMING_EMAIL_SPAM_ACTION: false
INCOMING_EMAIL_SPAM_HEADER: 'X-Spam-Score'
INCOMING_EMAIL_SPAM_THRESHOLD: false

# Used as envelope from at the incoming email domain for cases where you don't
# care about failure.
#
# BLACKHOLE_PREFIX - String (default: do-not-reply-to-this-address)
#
# Examples:
#
#   BLACKHOLE_PREFIX: 'do-not-reply-to-this-address'
#   BLACKHOLE_PREFIX: 'do-not-reply'
#
# ---
BLACKHOLE_PREFIX: 'do-not-reply-to-this-address'

# Emergency admin user login username. YOU SHOULD CHANGE THIS.
#
# ADMIN_USERNAME - String (default: nil)
#
# Examples:
#
#   ADMIN_USERNAME: 'admin-alaveteli'
#
# ---
ADMIN_USERNAME: 'adminxxxx'

# Emergency admin user login password. YOU SHOULD CHANGE THIS.
#
# ADMIN_USERNAME - String (default: nil)
#
# Examples:
#
#   ADMIN_PASSWORD: 'b38bCHBl;28'
#
# ---
ADMIN_PASSWORD: 'passwordx'

# Disable the emergency admin user?
#
# DISABLE_EMERGENCY_USER - Boolean (default: false)
#
# ---
DISABLE_EMERGENCY_USER: false

# Set this to true, and the admin interface will be available to anonymous
# users. Obviously, you should not set this to be true in production
# environments.
#
# SKIP_ADMIN_AUTH - Boolean (default: false)
#
# ---
SKIP_ADMIN_AUTH: false

# Email "from" email address
#
# CONTACT_EMAIL: String email address (default: contact@localhost)
#
# ---
CONTACT_EMAIL: 'contact@localhost'

# Email "from" name
#
# CONTACT_NAME - String contact name (default: Alaveteli)
#
# ---
CONTACT_NAME: 'Alaveteli'

# Email "from" email address for track messages
#
# TRACK_SENDER_EMAIL - String email address (default: contact@localhost)
#
# ---
TRACK_SENDER_EMAIL: 'contact@localhost'

# Email "from" name for track messages
#
# TRACK_SENDER_NAME - String contact name (default: Alaveteli)
#
# ---
TRACK_SENDER_NAME: 'Alaveteli'

# Directory where the raw incoming email data gets stored; make sure you back
# this up!
#
# RAW_EMAILS_LOCATION - String path (default: files/raw_emails)
#
# ---
RAW_EMAILS_LOCATION: 'files/raw_emails'

# Rails 4.0 introduces ActiveSupport::KeyGenerator and uses this as a base from
# which to generate and verify signed cookies (among other things). You can
# generate a key with `rake secret`.
#
# SECRET_KEY_BASE - String (default: 'this default is insecure as
#                           code is open source, please override
#                           for live sites in config/general; this
#                           will do for local development')
#
# Examples:
#
#   SECRET_KEY_BASE: 'uIngVC238Jn9NsaQizMNf89pliYmDBFugPjHS2JJmzOp8'
#
# ---
SECRET_KEY_BASE: 'your secret key here, make it long and random'

# If present, puts the site in read only mode, and uses the text as reason
# (whole paragraph). Please use a read-only database user as well, as it only
# checks in a few obvious places. Typically, you do not want to run your site
# in read-only mode.
#
# READ_ONLY - String (default: nil)
#
# Examples:
#
#   READ_ONLY: 'The site is not currently accepting requests while we move the
#   server.'
#
# ---
READ_ONLY: ''

# Is this a staging or development site? If not, it's a live production site.
# This setting controls whether or not the rails-post-deploy script will create
# the file config/rails_env.rb file to force Rails into production environment.
#
# STAGING_SITE: Integer in [0, 1]
#
# Examples:
#
#   # For staging or development:
#   STAGING_SITE: 1
#
#   # For production:
#   STAGING_SITE: 0
#
# ---
STAGING_SITE: 1

# Recaptcha, for detecting humans. Get keys here:
# https://www.google.com/recaptcha
# Currently Alaveteli requires a reCAPTCHA v2 Checkbox key.
#
# RECAPTCHA_SITE_KEY - String (default: 'x')
#
# ---
RECAPTCHA_SITE_KEY: 'x'

# Recaptcha, for detecting humans. Get keys here:
# https://www.google.com/recaptcha
# Currently Alaveteli requires a reCAPTCHA v2 Checkbox key.
#
# RECAPTCHA_SECRET_KEY - String (default: 'x')
#
# ---
RECAPTCHA_SECRET_KEY: 'x'

# Number of days after which to send a 'new response reminder'
#
# NEW_RESPONSE_REMINDER_AFTER_DAYS – Array of Integers (default: [3, 10, 24])
#
# Examples:
#
#   NEW_RESPONSE_REMINDER_AFTER_DAYS: [3, 7]
#
# ---
NEW_RESPONSE_REMINDER_AFTER_DAYS: [3, 10, 24]

# For debugging memory problems. If true, Alaveteli logs the memory use
# increase of the Ruby process due to the request (Linux only). Since Ruby
# never returns memory to the OS, if the existing process previously served a
# larger request, this won't show any consumption for the later request.
#
# DEBUG_RECORD_MEMORY - Boolean (default: false)
#
# ---
DEBUG_RECORD_MEMORY: false

# Currently we default to using pdftk to compress PDFs. You can optionally try
# Ghostscript, which should do a better job of compression. Some versions of
# pdftk are buggy with respect to compression, in which case Alaveteli doesn't
# recompress the PDFs at all and logs a warning message "Unable to compress
# PDF" — which would be another reason to try this setting.
#
# USE_GHOSTSCRIPT_COMPRESSION - Boolean (default: false)
#
# ---
USE_GHOSTSCRIPT_COMPRESSION: false

# Alaveteli uses a GeoIP database to determine the country from the IP address
# of an HTTP request to the site (this lets us suggest an Alaveteli in the user's
# country if one exists). You shouldn't need to change this if you have the
# geoip-database package installed as specified in the config/packages files.
#
# You **must** add MAXMIND_LICENSE_KEY with this setting.
#
# GEOIP_DATABASE - String (default: vendor/data/GeoLite2-Country.mmdb)
#
# ---
GEOIP_DATABASE: vendor/data/GeoLite2-Country.mmdb

# MaxMind requires a free license key to download the GeoLite2 databases.
# https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases/
#
# MAXMIND_LICENSE_KEY - String (default: '')
#
# ---
MAXMIND_LICENSE_KEY: ''

# The email address to which non-bounce responses to emails sent out by
# Alaveteli should be forwarded
#
# FORWARD_NONBOUNCE_RESPONSES_TO - String (default: user-support@localhost)
#
# Examples:
#
#   FORWARD_NONBOUNCE_RESPONSES_TO: user-support@example.com
#
# ---
FORWARD_NONBOUNCE_RESPONSES_TO: user-support@localhost

# The email address to which non-bounce responses to emails sent out to
# Alaveteli Professional users by Alaveteli should be forwarded
#
# FORWARD_PRO_NONBOUNCE_RESPONSES_TO - String (default: pro-user-support@localhost)
#
# Examples:
#
#   FORWARD_PRO_NONBOUNCE_RESPONSES_TO: pro-user-support@example.com
#
# ---
FORWARD_PRO_NONBOUNCE_RESPONSES_TO: pro-user-support@localhost

# Email address used for sending exception notifications.
#
# EXCEPTION_NOTIFICATIONS_FROM - String (default: nil)
#
# Examples:
#
#   EXCEPTION_NOTIFICATIONS_FROM: do-not-reply-to-this-address@example.com
#
# ---
EXCEPTION_NOTIFICATIONS_FROM: do-not-reply-to-this-address@localhost

# Email address(es) used for receiving exception notifications.
#
# EXCEPTION_NOTIFICATIONS_TO - Array of Strings (default: nil)
#
# Examples:
#
#   EXCEPTION_NOTIFICATIONS_TO:
#     - robin@example.com
#     - seb@example.com
#
# ---
EXCEPTION_NOTIFICATIONS_TO:
  - alaveteli@localhost

# This rate limiting can be turned off per-user via the admin interface
#
# MAX_REQUESTS_PER_USER_PER_DAY - Integer (default: 6)
#
# Examples:
#
#   MAX_REQUESTS_PER_USER_PER_DAY: 1
#   MAX_REQUESTS_PER_USER_PER_DAY: '' # No limit
#
# ---
MAX_REQUESTS_PER_USER_PER_DAY: 6

# If you're running behind Varnish set this to work out where to send purge
# requests. Otherwise, don't set it.
#
# VARNISH_HOSTS - Array of Strings (default: nil)
#
# Examples:
#
#   VARNISH_HOSTS:
#     - host1
#     - host2
#
# ---
VARNISH_HOSTS: null

# Adding a value here will enable Google Analytics on all non-admin pages for
# non-admin users.
#
# GA_CODE - String (default: nil)
#
# Examples:
#
#   GA_CODE: 'AB-8222142-14'
#
# ---
GA_CODE: ''

# If you want to override all the public body request emails with your own
# email address so that request emails that would normally go to the public
# body go to you, use this setting. This is useful for a staging server, so you
# can play with the whole process of sending requests without inadvertently
# sending an email to a real authority.
# Leave blank ('') to send requests to the real authority emails.
#
# OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS - String (default: nil)
#
# Examples:
#
#   OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS: test-email@example.com
#
# ---
OVERRIDE_ALL_PUBLIC_BODY_REQUEST_EMAILS: ''

# Search path for external commandline utilities (such as pdftohtml, pdftk,
# unrtf).
# When set to an empty array the the standard environment PATH will be used to
# search for external commandline utilities.
#
# UTILITY_SEARCH_PATH - Array of Strings
#                       (default: ["/usr/bin", "/usr/local/bin"])
#
# Examples:
#
#  UTILITY_SEARCH_PATH: []
#  UTILITY_SEARCH_PATH: ["/usr/bin"]
#  UTILITY_SEARCH_PATH: ["/usr/local/bin", "/opt/bin"]
#
# ---
UTILITY_SEARCH_PATH: ["/usr/bin", "/usr/local/bin"]

# Path to your exim or postfix log files that will get sucked up by
# script/load-mail-server-logs
#
# MTA_LOG_PATH - String (default: /var/log/exim4/exim-mainlog-*)
#
# Examples:
#
#   MTA_LOG_PATH: '/var/log/exim4/exim-mainlog-*'
#
# ---
MTA_LOG_PATH: '/var/log/exim4/exim-mainlog-*'

# Are you using "exim" or "postfix" for your Mail Transfer Agent (MTA)?
#
# MTA_LOG_TYPE - String (default: exim)
#
# Examples:
#
#   MTA_LOG_TYPE: exim
#   MTA_LOG_TYPE: postfix
#
# ---
MTA_LOG_TYPE: exim

# URL where people can donate to the organisation running the site. If set,
# this will be included in the message people see when their request is
# successful.
#
# DONATION_URL - String (default: nil)
#
# Examples:
#
#   DONATION_URL: http://www.mysociety.org/donate
#
# ---
DONATION_URL: "http://www.mysociety.org/donate/"

# If PUBLIC_BODY_STATISTICS_PAGE is set to true, Alaveteli will make a page of
# statistics on the performance of public bodies (which you can see at
# /body_statistics).
#
# PUBLIC_BODY_STATISTICS_PAGE - Boolean (default: false)
#
# ---
PUBLIC_BODY_STATISTICS_PAGE: false

# The page of statistics for public bodies will only consider public
# bodies that have had at least the number of requests set by
# MINIMUM_REQUESTS_FOR_STATISTICS.
#
# MINIMUM_REQUESTS_FOR_STATISTICS - Integer (default: 100)
#
# ---
MINIMUM_REQUESTS_FOR_STATISTICS: 100

# If you would like the public body list page to include bodies that have no
# translation in the current locale (but which do have a translation in the
# default locale), set this to true.
#
# PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE - Boolean (default: false)
#
# ---
PUBLIC_BODY_LIST_FALLBACK_TO_DEFAULT_LOCALE: false

# If true, while in development mode, try to send mail by SMTP to port
# 1025 (the port the mailcatcher listens on by default)
#
# USE_MAILCATCHER_IN_DEVELOPMENT - Boolean (default: true)
#
# ---
USE_MAILCATCHER_IN_DEVELOPMENT: true

# Bullet is a tool to help to kill N+1 queries and unused eager loading
# https://github.com/flyerhzm/bullet
#
# USE_BULLET_IN_DEVELOPMENT - Boolean (default: false)
#
# ---
USE_BULLET_IN_DEVELOPMENT: false

# Use memcached to cache HTML fragments for better performance. This will
# only have an effect in environments where
# config.action_controller.perform_caching is set to true
#
# CACHE_FRAGMENTS - Boolean (default: true)
#
# ---
CACHE_FRAGMENTS: true

# The default bundle path is vendor/bundle; you can set this option to change it
#
# BUNDLE_PATH - String
#
# Examples:
#
#   BUNDLE_PATH: vendor/bundle
#   BUNDLE_PATH: /var/alaveteli/bundle
#
# ---
BUNDLE_PATH: vendor/bundle

# In some deployments of Alaveteli you may wish to install each newly
# deployed version alongside the previous ones, in which case certain
# files and resources should be shared between these installations.
# For example, the 'files' directory, the 'cache' directory and the
# generated graphs such as 'public/foi-live-creation.png'.  If you're
# installing Alaveteli in such a setup then set SHARED_FILES_PATH to
# the directory you're keeping these files under. Otherwise, leave it
# blank.
#
# SHARED_FILES_PATH - String
#
# Examples:
#
#   SHARED_FILES_PATH: /var/www/alaveteli/shared
#
# ---
SHARED_FILES_PATH: ''

# If you have SHARED_FILES_PATH set, then these options list the files
# that are shared; i.e. those that the deploy scripts should create symlinks to
# from the repository.
#
# SHARED_FILES - Array of Strings
#
# Examples:
#
#   SHARED_FILES:
#     - config/database.yml
#     - config/general.yml
#
# ---
SHARED_FILES:
  - config/database.yml
  - config/general.yml
  - config/sidekiq.yml
  - config/storage.yml
  - config/rails_env.rb
  - config/httpd.conf
  - public/foi-live-creation.png
  - public/foi-user-use.png
  - config/aliases

# If you have SHARED_FILES_PATH set, then these options list the directories
# that are shared; i.e. those that the deploy scripts should create symlinks to
# from the repository.
#
# SHARED_DIRECTORIES - Array of Strings
#
# Examples:
#
#   SHARED_DIRECTORIES:
#     - files/
#     - cache/
#
# ---
SHARED_DIRECTORIES:
  - files/
  - cache/
  - lib/acts_as_xapian/xapiandbs/
  - log/
  - storage/
  - tmp/pids
  - vendor/bundle
  - public/assets

# Define the mailer delivery method to be used only in the production environment.
# By default, use sendmail.
#
# The list of accepted options are available in the Rails ActionMailer configuration
# documentation: http://guides.rubyonrails.org/action_mailer_basics.html#example-action-mailer-configuration
#
# The most common alternative is to use 'smtp'
# If you choose to use an external SMTP service then you will need to also include the SMTP configuration settings.
#
# As a string this is coerced into a symbol in config/environments/production.rb
#
# PRODUCTION_MAILER_DELIVERY_METHOD - String (default: sendmail)
#
# Examples:
#
# PRODUCTION_MAILER_DELIVERY_METHOD: smtp
# SMTP_MAILER_ADDRESS: smtp.gmail.com
# SMTP_MAILER_PORT: 587
# SMTP_MAILER_DOMAIN: example.com
# SMTP_MAILER_USER_NAME: jane322
# SMTP_MAILER_PASSWORD: supersecretpassword
# SMTP_MAILER_AUTHENTICATION: 'plain'
# SMTP_MAILER_ENABLE_STARTTLS_AUTO: true
# ---
PRODUCTION_MAILER_DELIVERY_METHOD: sendmail

# If ENABLE_WIDGETS is set to true, Alaveteli will allow the embedding of a
# 'widget' linking to a request on other sites. This widget will record
# how many people click on an 'I also want to know' button.
#
# ENABLE_WIDGETS - Boolean (default: false)
#
# ---
ENABLE_WIDGETS: false

# Enable a second step of authentication for dangerous account actions.
# Currently only active for changing password. Two factor auth is opt-in per
# user.
#
# ENABLE_TWO_FACTOR_AUTH – Boolean (default: false)
#
# ---
ENABLE_TWO_FACTOR_AUTH: false

# Enable referral of requests to external reviewers. This is likely to be an
# Information Commissioner or similar.
#
# EXTERNAL_REVIEWERS – String (default: '')
#
# Examples:
#
#   EXTERNAL_REVIEWERS: ico@example.net
#
# ---
EXTERNAL_REVIEWERS: ''

# Enable annotations on requests.
# If ENABLE_ANNOTATIONS is set to true, Alaveteli will include a link in the
# "Things to do with this request" section to allow users to add extra
# comments or information to it. This is a standard feature which is usually
# turned on, but if you want to disable it, you can set this to false.
#
# Note: We don't recommend disabling annotations after users have started
# making comments. Setting this to false won't hide existing comments, or
# stop email alerts being sent about comments that were created before you
# turned them off.
#
# ENABLE_ANNOTATIONS – Boolean (default: true)
#
# ---
ENABLE_ANNOTATIONS: true

# Enable anti-spam measures.
# If ENABLE_ANTI_SPAM is set to true, Alaveteli will enforce a set of extra
# restrictions to combat spam requests, annotations and profile content. This
# will include the ability to restrict IP addresses from some countries from
# performing some actions (see RESTRICTED_COUNTRIES), showing a reCAPTCHA
# on new request submission, and preventing the submission of requests,
# annotations and profile text matching a set of spam content patterns.
#
# ENABLE_ANTI_SPAM – Boolean (default: false)
#
# ---
ENABLE_ANTI_SPAM: false

# Prevent user signups if several signup attempts from the same IP address are
# made in quick succession.
#
# BLOCK_RATE_LIMITED_IPS - Boolean (default: false)
#
# ---
BLOCK_RATE_LIMITED_IPS: false

# Prevent users signing up and making requests if their IP originates in one of
# the RESTRICTED_COUNTRIES.
#
# BLOCK_RESTRICTED_COUNTRY_IPS - Boolean (default: false)
#
# ---
BLOCK_RESTRICTED_COUNTRY_IPS: false

# Prevent users submitting spam as their "About Me" profile text.
#
# BLOCK_SPAM_ABOUT_ME_TEXT - Boolean (default: false)
#
# ---
BLOCK_SPAM_ABOUT_ME_TEXT: false

# Prevent users submitting comments that appear to be spam.
#
# BLOCK_SPAM_COMMENTS - Boolean (default: false)
#
# ---
BLOCK_SPAM_COMMENTS: false

# Prevent users submitting user to user messages that appear to be spam.
#
# BLOCK_SPAM_USER_MESSAGES - Boolean (default: false)
#
# ---
BLOCK_SPAM_USER_MESSAGES: false

# Prevent user signups from spam email domains or names which appear to be spam.
#
# BLOCK_SPAM_SIGNUPS - Boolean (default: false)
#
# ---
BLOCK_SPAM_SIGNUPS: false

# Prevent user signins from spam email domains or names which appear to be spam.
#
# BLOCK_SPAM_SIGNINS - Boolean (default: false)
#
# ---
BLOCK_SPAM_SIGNINS: false

# Prevent users submitting requests that appear to be spam.
#
# BLOCK_SPAM_REQUESTS - Boolean (default: false)
#
# ---
BLOCK_SPAM_REQUESTS: false

# Restrict IP addresses from some countries from performing some actions.
# If set, requests from IP addresses in the countries specified will be
# prevented from making new requests on the site.
#
# RESTRICTED_COUNTRIES – String of space-separated uppercase ISO Alpha-2 codes
# (default '')
#
# Examples:
#
#    RESTRICTED_COUNTRIES: 'GB ES'
#
# ---
RESTRICTED_COUNTRIES: ''

# Show a reCAPTCHA on new request submission form if a user is not signed in or
# not marked as confirmed_not_spam.
#
# NEW_REQUEST_RECAPTCHA – Boolean (default: false)
#
# ---
NEW_REQUEST_RECAPTCHA: false

# Show a reCAPTCHA on the contact form to discourage spammers
#
# Add the following code to `help/_contact_form.html.erb` in your theme (just
# above the submit button works best) and a reCAPTCHA will be shown if
# CONTACT_FORM_RECAPTCHA is set to true.
#
#     <% if @recaptcha_required %>
#       <%= recaptcha_tags %><br />
#     <% end %>
#
# CONTACT_FORM_RECAPTCHA – Boolean (default: false)
#
# ---
CONTACT_FORM_RECAPTCHA: false

# Show a reCAPTCHA on the user to user contact form to discourage spammers
#
# USER_CONTACT_FORM_RECAPTCHA – Boolean (default: false)
#
# ---
USER_CONTACT_FORM_RECAPTCHA: false

# Enable AlaveteliProfessional
# If ENABLE_ALAVETELI_PRO is set to true, Alaveteli will include extra
# functionality and account levels for professional FOI users, e.g.
# journalists. Professional users have access to a new dashboard, a more
# streamlined request process, and crucially, the ability to embargo their
# requests so that they remain private.
#
# Enabling this is a large change, and this is still in Alpha development, so
# you may want to contact the Alaveteli team before doing so.
#
# ENABLE_ALAVETELI_PRO – Boolean (default: false)
#
# ---
ENABLE_ALAVETELI_PRO: false

# Contact email address for Alaveteli Professional.
# Requests made through Alaveteli Professional may be embargoed, meaning that
# the user has an expectation that they're private, and this can include
# being private from some of the site's administration team. Even if this is
# not the case, you may wish to redirect pro support email away from the usual
# email address for everybody else. These details allow you to specify a
# different address.
#
# If you want all support mail to go to the same address, make this the same
# as CONTACT_EMAIL.
#
# PRO_CONTACT_EMAIL - String email address (default: pro-contact@localhost)
#
# ---
PRO_CONTACT_EMAIL: 'pro-contact@localhost'

# Contact name for Alaveteli Professional.
# The corresponding name to address emails to when sending email to
# PRO_CONTACT_EMAIL.
#
# If you want all support mail to go to the same address, make this the same
# as CONTACT_NAME.
#
# PRO_CONTACT_NAME - String contact name (default: Alaveteli Professional)
#
# ---
PRO_CONTACT_NAME: 'Alaveteli Professional'

# Site name for Alaveteli Professional.
# The name to use when referring to the Alaveteli Professional parts of an
# Alaveteli site. For example, in the UK our Alaveteli instance is called
# "WhatDoTheyKnow" but we refer to the pro parts of the site as
# "WhatDoTheyKnow Pro".
#
# If you don't want a different name for the pro pages, make this the same as
# SITE_NAME.
#
# PRO_SITE_NAME - String site name (default: Alaveteli Professional)
#
# ---
PRO_SITE_NAME: 'Alaveteli Professional'

# The total number of authorities that can be added to a Alaveteli Professional
# batch request.
#
# PRO_BATCH_AUTHORITY_LIMIT - Integer (default: 500)
#
# ---
PRO_BATCH_AUTHORITY_LIMIT: 500

# Define the mailer retriever method to be used only in the production environment.
# By default, mail is accepted passively via script/mailin. You can set this param
# to 'pop' to poll for mail via pop.
#
# If you choose to do this then you will need to also include the POP_
# configuration settings.
#
# As a string this is coerced into a symbol in config/environments/production.rb
#
# PRODUCTION_MAILER_RETRIEVER_METHOD - String (default: passive)
#
# Examples:
#
# PRODUCTION_MAILER_RETRIEVER_METHOD: pop
#
# ---
PRODUCTION_MAILER_RETRIEVER_METHOD: passive

# Set the address of the POP server used if the PRODUCTION_MAILER_RETRIEVER_METHOD
# is set to 'pop'.
#
# POP_MAILER_ADDRESS - String (default: localhost)
#
# Examples:
#
# POP_MAILER_ADDRESS: pop.gmail.com
#
# ---
POP_MAILER_ADDRESS: localhost

# Set the port of the POP server used if the PRODUCTION_MAILER_RETRIEVER_METHOD
# is set to 'pop'.
#
# POP_MAILER_PORT - Integer (default: 995)
#
# ---
POP_MAILER_PORT: 995

# Set the username of the account user to connect to the POP server used if the
# PRODUCTION_MAILER_RETRIEVER_METHOD is set to 'pop'.
#
# POP_MAILER_USER_NAME - String (default: '')
#
# Examples:
#
# POP_MAILER_USER_NAME: jane322
#
# ---
POP_MAILER_USER_NAME: ''

# Set the password of the account user to connect to the POP server used if the
# PRODUCTION_MAILER_RETRIEVER_METHOD is set to 'pop'.
#
# POP_MAILER_PASSWORD - String (default: '')
#
# Examples:
#
# POP_MAILER_PASSWORD: supersecretpassword
#
# ---
POP_MAILER_PASSWORD: ''

# Should Alaveteli use SSL when connecting to the POP server used if the
# PRODUCTION_MAILER_RETRIEVER_METHOD is set to 'pop'?
#
# POP_MAILER_ENABLE_SSL - Boolean (default: true)
#
# Examples:
#
# POP_MAILER_ENABLE_SSL: true
#
# ---
POP_MAILER_ENABLE_SSL: true

# Stripe.com publishable key. Only required for Alaveteli Pro.
#
# STRIPE_PUBLISHABLE_KEY - String (default: '')
#
# Examples:
#
# STRIPE_PUBLISHABLE_KEY: pk_test_UD6BDsARFZIYb8273dbdl
#
# ---
STRIPE_PUBLISHABLE_KEY: ''

# Stripe.com secret key. Only required for Alaveteli Pro.
#
# STRIPE_SECRET_KEY - String (default: '')
#
# Examples:
#
# STRIPE_SECRET_KEY: sk_test_UD6BDsARFZIYb8273dbdl
#
# ---
STRIPE_SECRET_KEY: ''

# An optional Stripe.com namespace which allows plans & coupons to be separated
# from other resources within Stripe. If used the Stripe resources will need IDs
# like: '<namespace>-<id>'
#
# **Must be uppercase**.
#
# STRIPE_NAMESPACE - String (default: '')
#
# Examples:
#
# STRIPE_NAMESPACE: 'ALAVETELI'
#
# ---
STRIPE_NAMESPACE: ''

# Stripe.com webhook secret. Only required for Alaveteli Pro.
#
# STRIPE_WEBHOOK_SECRET: - String (default: '')
#
# Examples:
#
# STRIPE_WEBHOOK_SECRET: wh_test_UD6BDsARFZIYb8273dbdl
# ---
STRIPE_WEBHOOK_SECRET: ''

# The rate of Tax / VAT to add to Pro subscriptions. Note that the Price per
# unit of your Stripe Product Plan must be created without tax. Alaveteli will
# automatically calculate the gross amount to charge.
#
# STRIPE_TAX_RATE: - String (default: '0.20')
#
# Examples:
#
# STRIPE_TAX_RATE: '0.21' # 21%
# ---
STRIPE_TAX_RATE: '0.20'

# A Stripe coupon code – displayed to existing Pro users on their subscriptions
# page – that they can share with friends for their friends to receive a signup
# discount.
#
# This should *not* include the `STRIPE_NAMESPACE`.
#
# You *must* set a `humanized_terms` key in the Coupon Metadata to display the
# discount that will be applied when using the coupon (e.g. "50% off for 1
# month").
#
# PRO_REFERRAL_COUPON: - String (default: '')
#
# Examples:
#
# PRO_REFERRAL_COUPON: 'PROREFERRAL'
# ---
PRO_REFERRAL_COUPON: ''

# If ENABLE_PRO_PRICING is set to true, Alaveteli let users enter their bank
# details and subscribe to a Stripe subscription which grants them access to the
# pro role and all the features of Alaveteli Professional.
#
# ENABLE_PRO_PRICING – Boolean (default: false)
#
# ---
ENABLE_PRO_PRICING: false

# This option is only used when ENABLE_PRO_PRICING is set to false.
#
# If ENABLE_PRO_SELF_SERVE is set to true, Alaveteli will let users upgrade
# their accounts to Pro without needing to enter payment details.
#
# If ENABLE_PRO_SELF_SERVE is set to false, admins will receive an account
# request email and has to assign the role in the Alaveteli admin interface.
#
# ENABLE_PRO_SELF_SERVE – Boolean (default: false)
#
# ---
ENABLE_PRO_SELF_SERVE: false

# **WARNING** Projects is not ready for re-use.
#
# ENABLE_PROJECTS – Boolean (default: false)
#
# ---
ENABLE_PROJECTS: false

# If SURVEY_URL is present, one month after a request has been made, Alaveteli
# will email users with a link to a survey.
#
# SURVEY_URL – String (default: '')
#
# ---
SURVEY_URL: ''

# Retains records of IP addresses used to sign in to user accounts for the
# configured number of days. This value should be less than or equal to the
# number of days of logs retained according to your logrotate configuration,
# otherwise you may hold data in a way that is inconsistent with your privacy
# policy.
#
# Does not record actvity when set to 0.
#
# USER_SIGN_IN_ACTIVITY_RETENTION_DAYS – Integer (default: 0)
#
# ---
USER_SIGN_IN_ACTIVITY_RETENTION_DAYS: 0