Files
reddit/r2/example.ini
Max Goodman 482e8644d8 Fire a pixel for UI flow tracking of sub/unsubscribe.
This will allow us to collect information about how users found
subreddits that they subscribe to. We can use this information to test
the effectiveness of new ways of discovering and subscribing to
subreddits.

Specifically, when the subscribe button is clicked, for the current page
and previous page: the URL, referrer URL, and the type of UI element
clicked are sent. We'll use this to answer questions like:

 * "did clicking on gizmo A lead to users subscribing to subreddit B?"
 * "why did we see a spike in subscriptions to subreddit X today?"
2012-07-27 17:25:04 -07:00

490 lines
15 KiB
INI

# DO NOT EDIT THIS FILE
# This is a base template. To apply changes to your
# reddit instance, create a "myreddit.update" config
# file, then run 'make ini'. 'make ini' will combine
# this template with the myreddit.update file and create a
# 'myreddit.ini'. ('myreddit.update' is just an example;
# any name will do - e.g., 'foo.update' will create
# 'foo.ini')
#
# r2 - Pylons development environment configuration
#
# The %(here)s variable will be replaced with the parent directory of this file
#
[DEFAULT]
# -- debug and configuation flags --
# global debug flag -- displays pylons stacktrace rather than 500 page on error when true
debug = true
# enables/disables whitespace removal (for development)
template_debug = false
# enables/disables compiled template caching and template file mtime checking
reload_templates = true
# use uncompressed static files (out of /static/js and /static/css)
# rather than compressed files out of /static (for development if true)
uncompressedJS = true
# enable/disable verbose SQL printing
sqlprinting = false
# enable/disable writing errors as they occur to a rabbit-mq queue
exception_logging = false
# whether to print a "reddit app started" message at start"
log_start = true
# enable/disable logging for amqp/rabbitmq
amqp_logging = false
# emergency measures: makes the site read only
read_only_mode = false
# global switch for wiki write permissions
allow_wiki_editing = true
# a modified read only mode used for cache shown during heavy load 503s
heavy_load_mode = false
# directory to write cProfile stats dumps to (disabled if not set)
profile_directory =
# a message placed in the infobar
announcement_message =
# the site's tagline, used in the title and description
short_description = open source is awesome
# -- SECRETS! <-- update these first! --
# global secret
SECRET = abcdefghijklmnopqrstuvwxyz0123456789
# secret for making the modhash
MODSECRET = abcdefghijklmnopqrstuvwxyz0123456789
# secret for /prefs/feeds
FEEDSECRET = abcdefghijklmnopqrstuvwxyz0123456789
# used for authenticating admin API calls w/o cookie
ADMINSECRET = abcdefghijklmnopqrstuvwxyz0123456789
CLOUDSEARCH_SEARCH_API =
CLOUDSEARCH_DOC_API =
CLOUDSEARCH_SUBREDDIT_SEARCH_API =
CLOUDSEARCH_SUBREDDIT_DOC_API =
# -- feature toggles --
disable_ads = false
disable_captcha = false
disable_ratelimit = false
disable_require_admin_otp = false
# -- important settings --
# the domain that this app serves itself up as
domain = reddit.local
# the short domain (like redd.it)
shortdomain =
# if you use www for the old-timey feel, put it here
domain_prefix =
# subdomains that don't need special processing
reserved_subdomains = www, ssl
# the user used for "system" operations and messages
system_user = reddit
# list of admin accounts
admins = reddit
# the default subreddit for submissions
default_sr = reddit.com
# default header image url
default_header_url = reddit.com.header.png
# time for the page cache (for unlogged in users)
page_cache_time = 90
# default localization for strings (when using python's locale.format)
locale = C
# default site language (two letter character code)
lang = en
lang_override =
# if your webserver is a proxy and on a different instance on the same 10.0.0.0/8 network
# set X-forwarded-for and set this to true
trust_local_proxies = false
# hash for validating HTTP_TRUE_CLIENT_IP_HASH
ip_hash =
# timezone for storing
timezone = UTC
# timezone for the database
display_timezone = MST
# secret key for accessing /shutdown
shutdown_secret = 12345
# https api endpoint (must be g.domain or a subdomain of g.domain)
https_endpoint =
# name of the cookie to drop with login information
login_cookie = reddit_session
# name of the admin cookie
admin_cookie = reddit_admin
# name of the otp cookie
otp_cookie = reddit_otp
# the work factor for bcrypt, increment this every time computers double in
# speed. don't worry, changing this won't break old passwords
bcrypt_work_factor = 12
# fraction of requests to pass into the queue-based usage sampler
usage_sampling = 0.
# account used for default feedback messaging (can be #subreddit)
admin_message_acct = reddit
# -- caching options --
# data cache (used for caching Thing objects)
num_mc_clients = 5
memcaches = 127.0.0.1:11211
# caches to use for locking
lockcaches = 127.0.0.1:11211
stalecaches =
# render caches (the second is "remote" and the local is optional but in the same format)
local_rendercache =
rendercaches = 127.0.0.1:11211
# -- permacache options --
# permacache is memcaches -> cassanda -> memcachedb
# memcaches that sit in front of cassandra
permacache_memcaches = 127.0.0.1:11211
# cassandra hosts. one of these will be chosen at random by pycassa
cassandra_seeds = 127.0.0.1:9160
# number of connections to keep open to the cassandra ring
cassandra_pool_size = 5
# read/write consistency levels for Cassandra
cassandra_rcl = ONE
cassandra_wcl = ONE
# name of default connection pool to use when _connection_pool not specified
cassandra_default_pool = main
# -- url cache options --
url_caches = 127.0.0.1:11211
# cassandra hosts. one of these will be chosen at random by pycassa
url_seeds =
# caches for storing number of times a link is rendered
incr_cache = udp:localhost:11211
incr_caches = localhost:11211
# recommender cache (depricated)
rec_cache = 127.0.0.1:11211
## -- traffic tracking urls --
# domain to send tracking requests (see scripts/tracker.py)
tracking_domain = reddit.local
# image to render to track pageviews
tracker_url = /static/pixel.png
# images to render to track sponsored links
adtracker_url = /static/pixel.png
# image to render to track the ad frame
adframetracker_url = /static/pixel.png
# open redirector to bounce clicks off of on sponsored links for tracking
clicktracker_url = /static/pixel.png
# url to request to track interaction statistics
uitracker_url = /static/pixel.png
# new pixel
newtracker_url =
# amqp
amqp_host = localhost:5672
amqp_user = reddit
amqp_pass = reddit
amqp_virtual_host = /
## -- database setup --
# list of all databases named in the subsequent table
databases = main, comment, vote, email, authorize, award, hc, traffic
db_user = reddit
db_pass = password
db_port = 5432
db_pool_size = 3
db_pool_overflow_size = 3
#db name db host user, pass, port, conn, overflow_conn
main_db = reddit, 127.0.0.1, *, *, *, *, *
comment_db = reddit, 127.0.0.1, *, *, *, *, *
comment2_db = reddit, 127.0.0.1, *, *, *, *, *
vote_db = reddit, 127.0.0.1, *, *, *, *, *
email_db = reddit, 127.0.0.1, *, *, *, *, *
authorize_db = reddit, 127.0.0.1, *, *, *, *, *
award_db = reddit, 127.0.0.1, *, *, *, *, *
hc_db = reddit, 127.0.0.1, *, *, *, *, *
traffic_db = reddit, 127.0.0.1, *, *, *, *, *
hardcache_categories = *:hc:hc
# this setting will prefix all of the table names
db_app_name = reddit
# are we allowed to create tables?
db_create_tables = True
# are we allowed to write at all?
disallow_db_writes = False
type_db = main
rel_type_db = main
hardcache_db = main
# definitions of what each table is (probably shouldn't change in .update files)
# things require no extra info. relation is followed by the names of the related tables
db_table_link = thing
db_table_account = thing
db_table_message = thing
db_table_savehide = relation, account, link
db_table_click = relation, account, link
db_table_comment = thing
db_table_subreddit = thing
db_table_srmember = relation, subreddit, account
db_table_friend = relation, account, account
db_table_vote_account_link = relation, account, link
db_table_vote_account_comment = relation, account, comment
db_table_inbox_account_comment = relation, account, comment
db_table_inbox_account_message = relation, account, message
db_table_moderatorinbox = relation, subreddit, message
db_table_report_account_link = relation, account, link
db_table_report_account_comment = relation, account, comment
db_table_report_account_message = relation, account, message
db_table_report_account_subreddit = relation, account, subreddit
db_table_award = thing
db_table_trophy = relation, account, award
db_table_jury_account_link = relation, account, link
db_table_ad = thing
db_table_adsr = relation, ad, subreddit
db_table_flair = relation, subreddit, account
db_table_promocampaign = thing
# which servers to find each table on (likely to change in .update files)
# first server listed is assumed to be the master, all others are read-only slaves
# additionally, a "!avoid_master" flag may be added to specify that reads should use the slaves
db_servers_link = main, main
db_servers_account = main
db_servers_message = main
db_servers_savehide = main
db_servers_click = main
db_servers_comment = comment
db_servers_subreddit = comment
db_servers_srmember = comment
db_servers_friend = comment
db_servers_vote_account_link = vote
db_servers_vote_account_comment = vote
db_servers_inbox_account_comment = main
db_servers_inbox_account_message = main
db_servers_moderatorinbox = main
db_servers_report_account_link = main
db_servers_report_account_comment = comment
db_servers_report_account_message = main
db_servers_report_account_subreddit = main
db_servers_award = award
db_servers_trophy = award
db_servers_jury_account_link = main
db_servers_ad = main
db_servers_adsr = main
db_servers_flair = main
db_servers_promocampaign = main
## -- traffic analytics --
# google analytics token
googleanalytics =
# machine to get traffic metrics from
traffic_url = http://localhost:8010/tracker/pickle/
# secret used for talking to the traffic machine
tracking_secret = abcdefghijklmnopqrstuvwxyz0123456789
## -- Self-service sponsored link stuff --
# (secure) payment domain
payment_domain = https://pay.reddit.local/
ad_domain = http://reddit.local
allowed_pay_countries = United States, United Kingdom, Canada
sponsors =
# authorize.net credentials (blank authorizenetapi to disable)
authorizenetapi =
# authorizenetapi = https://api.authorize.net/xml/v1/request.api
authorizenetname =
authorizenetkey =
min_promote_bid = 20
max_promote_bid = 9999
min_promote_future = 2
# -- spreadshirt --
spreadshirt_url =
spreadshirt_vendor_id =
spreadshirt_min_font = 42
spreadshirt_max_width = 620
spreadshirt_test_font =
###
# Other magic settings
###
# list of cnames allowed to render as reddit.com without a frame
authorized_cnames =
# -- query cache settings --
num_query_queue_workers = 5
query_queue_worker = http://cslowe.local:8000
enable_doquery = True
use_query_cache = True
write_query_queue = True
querycache_prune_chance = 0.05
# -- stylesheet editor --
# disable custom stylesheets
css_killswitch = False
# list of "trusted" domains that can be referenced in url()
allowed_css_linked_domains = static.reddit.com, www.reddit.com, reallystatic.reddit.com
# max number of uploaded images per subreddit
max_sr_images = 50
# default stylesheet and it's rtl version
stylesheet = reddit.css
stylesheet_rtl = reddit-rtl.css
# location of the static directory
static_path = /static/
# if set, these are the domains used for static files served over http and https
# if not set, no domain will be specified
static_domain =
static_secure_domain =
# if this is true, append .gz to CSS and JS files served from the static domain
# this is for hosts that don't do on-the-fly gzipping (e.g. s3)
static_pre_gzipped = false
static_secure_pre_gzipped = false
# make frontpage 100% dart
frontpage_dart = false
# -- translator UI --
# enable/disable access to the translation UI in /admin/i18n
translator = true
# reddit runs the translator UI on a different instance with a
# password to login. These settings are used when generating messages
# to translators to tell them their credentials
translator_username =
translator_password =
# subreddit used for DMCA takedowns
takedown_sr = _takedowns
# png compressor
png_optimizer = /usr/bin/env optipng
# jpeg compressor
jpeg_optimizer =
# Just a list of words. Used by errlog.py to make up names for new errors.
words_file = /usr/dict/words
# -- media stuff --
# user agent for the scraper
useragent = Mozilla/5.0 (compatible; redditbot/1.0; +http://www.reddit.com/feedback)
# The storage method to use for media
# Options:
# s3 - Uses Amazon S3 to upload media to buckets
media_store = s3
# your s3 credentials
S3KEY_ID =
S3SECRET_KEY =
# This bucket is used for old media, new installs may leave this blank
s3_old_thumb_bucket =
# May be one bucket, or many buckets seperated by commas
s3_media_buckets =
# Store direct urls for images, rather than buckets
# For the bucket mybucket with the image helloworld.jpg the stored url would be:
# true: http://s3.amazonaws.com/mybucket/helloworld.jpg
# false: http://mybucket/helloworld.jpg
s3_media_direct = true
media_domain = localhost
# Embedly API Key
embedly_api_key =
# -- limits --
# rate limiter duration (minutes)
RATELIMIT = 10
# minimum display karma
MIN_UP_KARMA = 1
MIN_RATE_LIMIT_KARMA = 10
MIN_RATE_LIMIT_COMMENT_KARMA = 1
QUOTA_THRESHOLD = 5
# Links and comments older than this many days qualify for historic preservation
REPLY_AGE_LIMIT = 180
# Links and comments older than this many days can't be voted on
VOTE_AGE_LIMIT = 180
# minimum age, in days, of an account to be eligible to create a community
min_membership_create_community = 30
# the maximum life of an admin cookie (seconds)
ADMIN_COOKIE_TTL = 32400
# the maximum amount of idle time for an admin cookie (seconds)
ADMIN_COOKIE_MAX_IDLE = 900
# the maximum life of an otp cookie
OTP_COOKIE_TTL = 604800
# min amount of karma to edit
WIKI_KARMA = 100
# time in days
MODWINDOW = 2
HOT_PAGE_AGE = 1000
# -- display options --
# how long to consider links eligible for the rising page
rising_period = 12 hours
# max number of comments (default)
num_comments = 100
# max number of comments (non-gold)
max_comments = 500
# max number of comments (gold)
max_comments_gold = 2500
# list of reddits to auto-subscribe users to
automatic_reddits =
# special reddit that only reddit gold subscribers can use
lounge_reddit =
# cutoff number of reddits to show unsubscribed users
num_default_reddits = 10
# how deep do we go into the top listing when fetching /random
num_serendipity = 250
sr_dropdown_threshold = 15
# Conflate visits to a comment page that happen within this many
# seconds of each other
comment_visits_period = 600
#user-agents to rate-limit
agents =
# subreddit ratelimits
sr_banned_quota = 10000
sr_moderator_quota = 10000
sr_contributor_quota = 10000
sr_quota_time = 7200
# -- email --
# smtp server
smtp_server = localhost
# delay before allowing a link to be shared
new_link_share_delay = 30 seconds
# alerter emails
nerds_email = nerds@reddit.com
# share reply email
share_reply = noreply@reddit.com
# feedback email
feedback_email = reddit@gmail.com
# Special case sensitive domains
case_sensitive_domains = i.imgur.com, youtube.com
[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = %(http_port)s
[app:main]
use = egg:r2
cache_dir = %(here)s/data
beaker.session_key = r2
beaker.session_secret = somesecret
#lang = en
# WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT*
# Debug mode will enable the interactive debugging tool, allowing ANYONE to
# execute malicious code after an exception is raised.
#set debug = false