Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

321 lines (260 sloc) 9.669 kb
%% vim: ts=4 sw=4 et ft=erlang
%%%
%%% CHICAGO BOSS PROJECT SKELETON
%%%
%%% This file can be modified by you to avoid you needing to reenter
%%% defaults when creating new projects. For full configuration
%%% details, please visit
%%% https://github.com/ChicagoBoss/ChicagoBoss/wiki/Configuration
%%% When running tests, you may want to create a separate configuration file
%%% "boss.test.config" which, if present, will be read instead of boss.config.
[{boss, [
{path, "./deps/boss"},
{applications, [{{appid}}]},
{assume_locale, "en"},
%%%%%%%%%%%%
%% System %%
%%%%%%%%%%%%
%% vm_cookie - Erlang cookie, must be the same for all nodes in the
%% cluster.
%% vm_name - Node name to use in production. Must be unique for all
%% nodes in the cluster. Defaults to <application_name>@<host_name>.
%% vm_sname - Node name to use if you wish to use a "short name" instead of a
%% full name.
%% vm_max_processes - The limit of processes that the VM is allowed to
%% spawn. Defaults to 32768 (the usual system default).
% {vm_cookie, "secret"},
% {vm_name, "leader@localhost"}
% {vm_sname, "shortname"},
% {vm_max_processes, 32768},
%%%%%%%%%%%%%%%%%%%%%%%%
%% Controller Filters %%
%%%%%%%%%%%%%%%%%%%%%%%%
%% controller_filter_config - Specify defaults for controller filters
%% Sub-key 'lang' can be set to the atom 'auto' to autodetermine language
%% universally, or can be set to a specific language by setting a string (e.g.
%% "en" or "de")
% {controller_filter_config, [
% {lang, auto}
% ]},
%%%%%%%%%%%%%%
%% Compiler %%
%%%%%%%%%%%%%%
%% See compile(3) for a full list of options
% {compiler_options, [return_errors]},
%%%%%%%%%%%
%% Cache %%
%%%%%%%%%%%
%% cache_adapter - Which cache adapter to use. Currently the only
%% valid value is memcached_bin.
%% cache_enable - Whether to enable the cache. Defaults to false.
%% cache_servers - A list of cache servers ({Host, Port,
%% PoolSize}). Defaults to [{"localhost", 11211, 1}].
%% cache_exp_time- The maximum time to keep a cache entry, in
%% seconds. Defaults to 60.
% {cache_adapter, memcached_bin},
% {cache_enable, false},
% {cache_servers, [{"localhost", 11211, 1}]},
% {cache_exp_time, 60},
%%%%%%%%%%%%%%
%% Database %%
%%%%%%%%%%%%%%
%% db_host - The hostname of the database. Defaults to "localhost".
%% db_port - The port of the database. Defaults to 1978.
%% db_adapter - The database adapter to use. Valid values are:
%% mock - In-memory (non-persistent) database, useful for testing
%% mnesia - Mnesia
%% mongodb- MongoDB
%% mysql - MySQL
%% pgsql - PostgreSQL
%% riak - Riak
%% tyrant - Tokyo Tyrant
%% db_username - The username used for connecting to the database (if
%% needed).
%% db_password - The password used for connecting to the database (if
%% needed).
%% db_database - The name of the database to connect to (if needed).
%% db_cache_enable - Whether to enable the cache in boss_db. Defaults
%% to false. Requires cache_enable to be set to true.
{db_host, "localhost"},
{db_port, 1978},
{db_adapter, mock},
% {db_username, "boss"},
% {db_password, "boss"},
% {db_database, "boss"},
%% MongoDB only
%%
%% Read https://github.com/TonyGen/mongodb-erlang#readme for details
%% db_write_mode - defaults to safe
%% db_read_mode - defaults to master
% {db_write_mode, safe},
% {db_read_mode, master},
%% Database sharding
%% A list of proplists with per-shard database configuration.
%% The proplists override the above options, and should contain two
%% additional options:
%% {db_shards, [
%% [
%% {db_host, "localhost"},
%% {db_adapter, mysql},
%% {db_port, 3306},
%% {db_username, "dbuser"},
%% {db_password, "dbpass"},
%% {db_database, "database"},
%% {db_shard_id, shard_id_atom},
%% {db_shard_models, [model_atom_1, model_atom_2,
%% model_atom_3, etc]}
%% ]
%% ]},
%%%%%%%%%%
%% Mail %%
%%%%%%%%%%
%% mail_driver - The email delivery driver to use. Valid values are:
%% boss_mail_driver_smtp - SMTP delivery. If mail_relay is present,
%% it is used as a relay, otherwise direct delivery is attempted.
%% boss_mail_driver_mock - A black hole, useful for testing.
%% mail_relay_host - The relay server for SMTP mail deliveries.
%% mail_relay_username -The username used for connecting to the SMTP
%% relay (if needed).
%% mail_relay_password -The password used for connecting to the SMTP
%% relay (if needed).
% {mail_driver, boss_mail_driver_mock},
% {mail_relay_host, "smtp.example.com"},
% {mail_relay_username, "webmaster@example.com"},
% {mail_relay_password, "mailpassword"},
%%%%%%%%%%%%%%%%%%
%% Master Node %%
%%%%%%%%%%%%%%%%%%
%% master_node -
%% For distributed configurations, the name of the master node.
%% The master node runs global services (incoming mail, message
%% queue, events, sessions).
%% Should be an atom, e.g. somenode@somehost.
%% The node name is specified in the -sname or -name argument in the
%% startup script.
% {master_node, 'master@example.com'},
%%%%%%%%%%%%%%%
%% Webserver %%
%%%%%%%%%%%%%%%
%% port - The port to run the server on. Defaults to 8001.
%% server - The HTTP server to use. Valid values are:
%% mochiweb - The Mochiweb Web Server
%% cowboy - The Cowboy Web Server (Comet, WebSockets, highly scalable, ...)
{port, 8001},
{server, cowboy},
%%%%%%%%%%%%%%
%% Websocket %%
%%%%%%%%%%%%%%
%% you can specify a global timeout for your websocket connection
%% when a websocket is idle more than the timeout, it is closed by the webserver
%% and you receive in your handle_close function {normal, timeout} as the
%% reason.
%{websocket_timeout, 5000},
%%%%%%%%%%%%%%
%% Sessions %%
%%%%%%%%%%%%%%
%% session_adapter - Selects the session driver to use. Valid values:
%% cache - Store sessions in the configured cache
%% servers. Requires cache_enable to be set to true.
%% ets (default)
%% mnesia
%% session_enable - Whether to enable sessions. Defaults to true.
%% session_key - Cookie key for sessions. Defaults to "_boss_session".
%% session_exp_time - Expiration time in seconds for the session
%% cookie. Defaults to 525600, i.e. 6 days, 2 hours.
%% session_mnesia_nodes, for {session_adapter, mnesia} only - List of
%% Mnesia nodes, defaults to node().
%% session_domain - (optional, sets the Domain=x cookie option),
%% this can be used by ex: to enable subdomain apps
%% (*.domain.com) with the param ".domain.com" => {session_domain,
%% ".domain.com"}
{session_adapter, mock},
{session_key, "_boss_session"},
{session_exp_time, 525600},
{session_cookie_http_only, false},
{session_cookie_secure, false},
% {session_enable, true},
% {session_mnesia_nodes, [node()]}, % <- replace "node()" with a node name
% {session_domain, ".domain.com"},
%%%%%%%%%%%%%%%
%% Templates %%
%%%%%%%%%%%%%%%
%% template_tag_modules - List of external modules to search for
%% custom ErlyDTL tags.
%% template_filter_modules - List of external modules to search for
%% custom ErlyDTL filters.
%% template_auto_escape - Controls automatic HTML escaping of template
%% values. Enabled by default.
{template_tag_modules, []},
{template_filter_modules, []},
{template_auto_escape, true},
%%%%%%%%%%%%%%%%%%%%%
%% Incoming Emails %%
%%%%%%%%%%%%%%%%%%%%%
%% smtp_server_enable - Enable the SMTP server for incoming mail
%% smtp_server_address - The address that the SMTP server should bind
%% to. Defaults to {0, 0, 0, 0} (all interfaces).
%% smtp_server_domain - The host name of the SMTP server
%% smtp_server_port - The port that the SMTP server should listen
%% on. Defaults to 25.
% {smtp_server_enable, false},
% {smtp_server_address, {0, 0, 0, 0}},
% {smtp_server_domain, "smtp.example.com"},
% {smtp_server_port, 25},
%% smtp_server_protocol - The protocol that the SMTP server should
%% use. Valid values are:
%% tcp (default)
%% ssl
% {smtp_server_protocol, tcp},
%%%%%%%%%
%% SSL %%
%%%%%%%%%
%% ssl_enable - Enable HTTP over SSL
%% ssl_options - SSL options; see ssl(3erl)
% {ssl_enable, true},
% {ssl_options, []},
%%%%%%%%%%%%%%%%%%%%
%% LOG FORMATTING %%
%%%%%%%%%%%%%%%%%%%%
%% Set log_stack_multiline to true to make stack traces more readable at the
%% cost of spanning multiple lines
% {log_stack_multiline, true},
{dummy, true} % a final dummy option so we don't have to keep track of commas
]},
%% MESSAGE QUEUE
{ tinymq, [
%% max_age- Maximum age of messages in the [message queue], in
%% seconds. Defaults to 60.
% {max_age, 60}
]},
%%%%%%%%%%%%%
%% Logging %%
%%%%%%%%%%%%%
%% Lager default config.
%% More info: https://github.com/basho/lager
{lager, [
{handlers, [
{lager_console_backend, info},
{lager_file_backend, [
{"log/error.log", error, 10485760, "$D0", 5},
{"log/console.log", info, 10485760, "$D0", 5}
]}
]},
%% Colored output, if you want to modify the colors, see
%% https://github.com/basho/lager/blob/master/src/lager.app.src
% {colored, true},
{dummy, true}
]},
%% APPLICATION CONFIGURATIONS
%% domains - A list of domains to serve the application on
%% static_prefix - The URL prefix of static assets
%% doc_prefix - The URL prefix for developer documentation
{ {{appid}}, [
{path, "../{{appid}}"},
{base_url, "/"},
% {domains, all},
% {static_prefix, "/static"},
% {doc_prefix, "/doc"},
{dummy, true}
]}
].
Jump to Line
Something went wrong with that request. Please try again.