# # MediaCore - Pylons development environment configuration # # The %(here)s variable will be replaced with the parent directory of this file # # IMPORTANT NOTE!! Do NOT use this config for any kind of production environ. # Generate a new, production-safe config with this command: # $ paster make-config mediacore production.ini [DEFAULT] # WARNING == If debug is not set to false, you'll get the interactive # debugger on production, which is a huge security hole. debug = true # Dont send error notifications by email when developing. That'd be annoying. #email_to = you@yourdomain.com smtp_server = localhost error_email_from = paste@localhost [server:main] use = egg:Paste#http host = 127.0.0.1 port = 8080 [app:main] # Specify the database for SQLAlchemy to use sqlalchemy.url = mysql://username:pass@localhost/dbname?charset=utf8&use_unicode=0 sqlalchemy.echo = False sqlalchemy.pool_recycle = 3600 # Session salts. beaker.session.secret = superdupersecret sa_auth.cookie_secret = superdupersecret # Specify an optional prefix for table names. # Use this if you want to put mediacore in the same database as another app. # XXX: If you use this setting and you want to enable search, you'll have # to manually edit setup_triggers.sql to include this prefix. # e.g. if you want your tables to be named like 'mcore_media', you should set: # db_table_prefix = mcore # mod_proxy settings (untested) # Use this if you are hosting mediacore behind a proxy. # e.g. If hosting mediacore via mod_proxy at the URL # yoursite.com/my_proxied_mediacore/, such that all requests are passed # through to a Paste server at localhost:8080/, you should set: # proxy_prefix = /my_proxied_mediacore # Method to use when servng static media files. # apache_xsendfile - requires Apache 2.x and mod_xsendfile # nginx_redirect - requires nginx and the creation of an internal location # block with an alias from the path __mediacore_serve__ to # your /path/to/mediacore/data/media directory. # See the full docs below for an example: # http://mediacore.com/docs/install/nginx-uwsgi.html # default - uses environ['wsgi.file_wrapper'] if it's provided by the server, # otherwise a pure-python file iterator returns the file in chunks file_serve_method = default # Enable automatic gzip compresson for all html/css/js/json responses. # Keep this enabled unless you're serving MediaCore via Apache and you # are able to enable gzip there instead. enable_gzip = true # Data paths (your server user must be able to write to these paths!) cache_dir = %(here)s/data image_dir = %(here)s/data/images media_dir = %(here)s/data/media # Files can be moved to a trash-like folder instead of being deleted # permanently from the filesystem. Uncomment the line below to enable this: #deleted_files_dir = %(here)s/data/deleted # If you'd like to fine-tune the individual locations of the cache data dirs # for the Cache data, or the Session saves, un-comment the desired settings # here: #beaker.cache.data_dir = %(here)s/data/cache #beaker.session.data_dir = %(here)s/data/sessions # Specify the layout template name to wrap core mediacore output in layout_template = layout # Defines an external genshi template to wrap the output (including layout) in external_template = false external_template_name = external external_template_url = http://some/valid_genshi_template.html external_template_timeout = 600 # Misc app instance settings use = egg:MediaCore full_stack = true static_files = true app_instance_uuid = {2673572c-6fb8-405e-89ed-00e2d4192faa} beaker.session.key = mediacore # 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 # Logging configuration # Add additional loggers, handlers, formatters here # Uses python's logging config file format # http://docs.python.org/lib/logging-config-fileformat.html [loggers] keys = root, routes, mediacore, sqlalchemy, auth [handlers] keys = console, wsgierrors # To enable a mediacore-specific logfile, see the [handler_logfile] setting # below, and add 'logfile' to the list of keys, like so # keys = console, wsgierrors, logfile [formatters] keys = generic # If you create additional loggers, add them as a key to [loggers] [logger_root] level = INFO handlers = console [logger_routes] level = INFO handlers = qualname = routes.middleware # "level = DEBUG" logs the route matched and routing variables. [logger_mediacore] level = INFO handlers = qualname = mediacore [logger_sqlalchemy] level = WARN handlers = qualname = sqlalchemy.engine # "level = INFO" logs SQL queries. # "level = DEBUG" logs SQL queries and results. # "level = WARN" logs neither. (Recommended for production systems.) # A logger for authentication, identification and authorization -- this is # repoze.who and repoze.what: [logger_auth] level = WARN handlers = qualname = auth # If you create additional handlers, add them as a key to [handlers] [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [handler_wsgierrors] # Handler for logging to the WSGI error handler (eg. apache's error log) class = pylons.log.WSGIErrorsHandler args = () level = NOTSET format = generic [handler_logfile] # Handler for logging to a dedicated logfile. To use this, see the [handlers] # section above; ensure the logfile you name is writeable by your server user. class = FileHandler args = ('/path/to/mediacore_install/data/deployment.log','a') level = NOTSET formatter = generic # If you create additional formatters, add them as a key to [formatters] [formatter_generic] format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] [%(threadName)s] %(message)s datefmt = %H:%M:%S