# ==== Required configuration settings for Huginn ====

# Replace the following with the output from "rake secret"
APP_SECRET_TOKEN=REPLACE_ME_NOW!

# This is the domain where your Huginn instance will be running. The default should work
# for development, but it needs to be changed to your Huginn domain when you deploy to a
# production environment (e.g., yourdomain.com, possibly including a port).
DOMAIN=localhost:3000
PORT=3000

# Optionally set an asset host
# ASSET_HOST=http://assets.example.com

############################
#      Database Setup      #
############################

DATABASE_ADAPTER=mysql2
DATABASE_ENCODING=utf8
DATABASE_RECONNECT=true
DATABASE_NAME=huginn_development
DATABASE_POOL=10
DATABASE_USERNAME=root
DATABASE_PASSWORD=""
#DATABASE_HOST=your-domain-here.com
#DATABASE_PORT=3306
#DATABASE_SOCKET=/tmp/mysql.sock

# MySQL only: If you are running a MySQL server >=5.5.3, you should
# set DATABASE_ENCODING to utf8mb4 instead of utf8 so that the
# database can hold 4-byte UTF-8 characters like emoji.
#DATABASE_ENCODING=utf8mb4

# ==== Additional required production settings ====

# Configure Rails environment.  This should only be needed in production and may cause errors in development.
# RAILS_ENV=production

# Should Rails force all requests to use SSL?
FORCE_SSL=false

################################################
#     User authentication and registration     #
################################################

# This invitation code will be required for users to signup with your Huginn installation.
# You can see its use in user.rb.  PLEASE CHANGE THIS!
INVITATION_CODE=try-huginn

# If you don't want to require new users to have an invitation code in order to sign up, set this to true.
SKIP_INVITATION_CODE=false

# If you'd like to require new users to confirm their email address after sign up, set this to true.
REQUIRE_CONFIRMED_EMAIL=false

# If REQUIRE_CONFIRMED_EMAIL is true, set this to the duration in which a user needs to confirm their email address.
ALLOW_UNCONFIRMED_ACCESS_FOR=2.days

# Duration for which the above confirmation token is valid
CONFIRM_WITHIN=3.days

# Minimum password length
MIN_PASSWORD_LENGTH=8

# Duration for which the reset password token is valid
RESET_PASSWORD_WITHIN=6.hours

# Set to 'failed_attempts' to lock user accounts for the UNLOCK_AFTER period they fail MAX_FAILED_LOGIN_ATTEMPTS login attempts. Set to 'none' to allow unlimited failed login attempts.
LOCK_STRATEGY=failed_attempts

# After how many failed login attempts the account is locked when LOCK_STRATEGY is set to failed_attempts.
MAX_FAILED_LOGIN_ATTEMPTS=10

# Can be set to 'email', 'time', 'both' or 'none'. 'none' requires manual unlocking of your users!
UNLOCK_STRATEGY=both

# Duration after which the user is unlocked when UNLOCK_STRATEGY is 'both' or 'time' and LOCK_STRATEGY is 'failed_attempts'
UNLOCK_AFTER=1.hour

# Duration for which the user will be remembered without asking for credentials again.
REMEMBER_FOR=4.weeks

# Set to 'true' if you would prefer new users to start with a default set of agents
IMPORT_DEFAULT_SCENARIO_FOR_ALL_USERS=true

# Users can be given a default set of agents to get them started
# You can override this scenario with your own scenario via file path or URL
# DEFAULT_SCENARIO_FILE=path-or-url-to-scenario.json

#############################
#    Email Configuration    #
#############################

# Outgoing email settings.  To use Gmail or Google Apps, put your Google Apps domain or gmail.com
# as the SMTP_DOMAIN and your Gmail username and password as the SMTP_USER_NAME and SMTP_PASSWORD.
#
# PLEASE NOTE: In order to enable sending real emails via SMTP locally (e.g., when not in the production Rails environment),
# you must also set SEND_EMAIL_IN_DEVELOPMENT to true below.
#
# If you have trouble with port 587 on Gmail, you can also try setting
# SMTP_AUTHENTICATION to login and the SMTP_PORT to 465.

SMTP_DOMAIN=your-domain-here.com
SMTP_USER_NAME=you@gmail.com
SMTP_PASSWORD=somepassword
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true

# Set to true to send real emails via SMTP when running in the development Rails environment.
# Set to false to have emails intercepted in development and displayed at http://localhost:3000/letter_opener
SEND_EMAIL_IN_DEVELOPMENT=false

# The address from which system emails will appear to be sent.
EMAIL_FROM_ADDRESS=from_address@gmail.com

###########################
#      Agent Logging      #
###########################

# Number of lines of log messages to keep per Agent
AGENT_LOG_LENGTH=200

########################################################################################################
#    OAuth Configuration                                                                               #
#  More information at the wiki: https://github.com/cantino/huginn/wiki/Configuring-OAuth-applications #
########################################################################################################

TWITTER_OAUTH_KEY=
TWITTER_OAUTH_SECRET=

THIRTY_SEVEN_SIGNALS_OAUTH_KEY=
THIRTY_SEVEN_SIGNALS_OAUTH_SECRET=

GITHUB_OAUTH_KEY=
GITHUB_OAUTH_SECRET=

TUMBLR_OAUTH_KEY=
TUMBLR_OAUTH_SECRET=

DROPBOX_OAUTH_KEY=
DROPBOX_OAUTH_SECRET=

WUNDERLIST_OAUTH_KEY=
WUNDERLIST_OAUTH_SECRET=

EVERNOTE_OAUTH_KEY=
EVERNOTE_OAUTH_SECRET=
# Set to true in development, false in production
USE_EVERNOTE_SANDBOX=true

#############################
#  AWS and Mechanical Turk  #
#############################

# AWS Credentials for MTurk
AWS_ACCESS_KEY_ID="your aws access key id"
AWS_ACCESS_KEY="your aws access key"

# Set AWS_SANDBOX to true if you're developing Huginn code.
AWS_SANDBOX=false

#########################
# Additional Agent gems #
#########################

# Agent gems can be added to Huginn by specifying them in a comma separated
# list, the gem version and arguments for the gem command are optional.
# When not providing a git(hub) repository the gem needs to be published to
# https://rubygems.org.
# Check http://bundler.io/v1.11/git.html for a list of valid arguments.
#
# Configuration examples:
#
# ADDITIONAL_GEMS=huginn_nlp_agents,test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(~> 0.2.1),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(git: https://github.com/kreuzwerker/DKT.huginn_nlp_agents.git),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(github: kreuzwerker/DKT.huginn_nlp_agents),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(~> 0.2.1, git: https://github.com/kreuzwerker/DKT.huginn_nlp_agents.git),test_agent

########################
#   Various Settings   #
########################

# Specify the HTTP backend library for Faraday, commonly used by
# WebsiteAgent, RssAgent and PostAgent.  You can change this depending
# on the performance and stability you need for your service.  Any
# choice other than "typhoeus", "net_http", or "em_http" should
# require you to bundle a corresponding gem via Gemfile.
FARADAY_HTTP_BACKEND=typhoeus

# Specify the default User-Agent header value for HTTP requests made
# by Agents that allow overriding the User-Agent header value.
DEFAULT_HTTP_USER_AGENT="Huginn - https://github.com/cantino/huginn"

# Allow JSONPath eval expresions. i.e., $..price[?(@ < 20)]
# You should not allow this on a shared Huginn box because it is not secure.
ALLOW_JSONPATH_EVAL=false

# Enable this setting to allow insecure Agents like the ShellCommandAgent.  Only do this
# when you trust everyone using your Huginn installation.
ENABLE_INSECURE_AGENTS=false

# Enable this setting to allow second precision schedule in
# SchedulerAgent.  By default, the use of the "second" field is
# restricted so that any value other than a single zero (which means
# "on the minute") is disallowed to prevent abuse of service.
ENABLE_SECOND_PRECISION_SCHEDULE=false

# Specify the scheduler frequency in seconds (default: 0.3).
# Increasing this value will help reduce the use of system resources
# at the expense of time accuracy.
SCHEDULER_FREQUENCY=0.3

# Specify the frequency with which the scheduler checks for and cleans up expired events.
# You can use `m` for minutes, `h` for hours, and `d` for days.
EVENT_EXPIRATION_CHECK=6h

# Use Graphviz for generating diagrams instead of using Google Chart
# Tools.  Specify a dot(1) command path built with SVG support
# enabled.
#USE_GRAPHVIZ_DOT=dot

# Default layout for agent flow diagrams generated by Graphviz.
# Choose from `circo`, `dot` (default), `fdp`, `neato`, `osage`,
# `patchwork`, `sfdp`, or `twopi`.  Note that not all layouts are
# supported by Graphviz depending on the build options.
#DIAGRAM_DEFAULT_LAYOUT=dot

# Timezone. Use `rake time:zones:local` or `rake time:zones:all` to get your zone name
TIMEZONE="Pacific Time (US & Canada)"

# Number of failed jobs to keep in the database
FAILED_JOBS_TO_KEEP=100

# Maximum runtime of background jobs in minutes
DELAYED_JOB_MAX_RUNTIME=2

# Amount of seconds for delayed_job to sleep before checking for new jobs
DELAYED_JOB_SLEEP_DELAY=10

###############################################################
# Capistrano deployment, read the documentation:              #
# https://github.com/cantino/huginn/doc/manual/capistrano.md  #
###############################################################

#CAPISTRANO_DEPLOY_SERVER=
#CAPISTRANO_DEPLOY_USER=
#CAPISTRANO_DEPLOY_REPO_URL=
