# 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 = http://pixel.reddit.com/pixel/of_defenestration.png # open redirector to bounce clicks off of on sponsored links for tracking clicktracker_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