[mediagoblin]
# HTML title of the pages
html_title = string(default="GNU MediaGoblin")
# Enabled media types
media_types = string_list(default=list("mediagoblin.media_types.image"))
# database stuff
db_host = string()
db_name = string(default="mediagoblin")
db_port = integer()
# Where temporary files used in processing and etc are kept
workbench_path = string(default="%(here)s/user_dev/media/workbench")
# Where mediagoblin-builtin static assets are kept
direct_remote_path = string(default="/mgoblin_static/")
# set to false to enable sending notices
email_debug_mode = boolean(default=True)
email_sender_address = string(default="notice@mediagoblin.example.org")
email_smtp_host = string(default='')
email_smtp_port = integer(default=25)
email_smtp_user = string(default=None)
email_smtp_pass = string(default=None)
# Set to false to disable registrations
allow_registration = boolean(default=True)
# tag parsing
tags_max_length = integer(default=50)
# Whether comments are ascending or descending
comments_ascending = boolean(default=True)
# By default not set, but you might want something like:
# "%(here)s/user_dev/templates/"
local_templates = string()
# Whether or not celery is set up via an environment variable or
# something else (and thus mediagoblin should not attempt to set it up
# itself)
celery_setup_elsewhere = boolean(default=False)
# Whether or not users are able to upload files of any filetype with
# their media entries -- This is useful if you want to provide the
# source files for a media file but can also be a HUGE security risk.
allow_attachments = boolean(default=False)
# Cookie stuff
csrf_cookie_name = string(default='mediagoblin_csrftoken')
# Push stuff
push_urls = string_list(default=list())
exif_visible = boolean(default=False)
geolocation_map_visible = boolean(default=False)
[storage:publicstore]
storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
base_dir = string(default="%(here)s/user_dev/media/public")
base_url = string(default="/mgoblin_media/")
[storage:queuestore]
storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
base_dir = string(default="%(here)s/user_dev/media/queue")
# Should we keep the original file?
[media_type:mediagoblin.media_types.video]
keep_original = boolean(default=False)
[beaker.cache]
type = string(default="file")
data_dir = string(default="%(here)s/user_dev/beaker/cache/data")
lock_dir = string(default="%(here)s/user_dev/beaker/cache/lock")
[celery]
# known booleans
celery_result_persistent = boolean()
celery_create_missing_queues = boolean()
broker_use_ssl = boolean()
broker_connection_retry = boolean()
celery_always_eager = boolean()
celery_eager_propagates_exceptions = boolean()
celery_ignore_result = boolean()
celery_track_started = boolean()
celery_disable_rate_limits = boolean()
celery_acks_late = boolean()
celery_store_errors_even_if_ignored = boolean()
celery_send_task_error_emails = boolean()
celery_send_events = boolean()
celery_send_task_sent_event = boolean()
celeryd_log_color = boolean()
celery_redirect_stdouts = boolean()
# known ints
celeryd_concurrency = integer()
celeryd_prefetch_multiplier = integer()
celery_amqp_task_result_expires = integer()
celery_amqp_task_result_connection_max = integer()
redis_port = integer()
redis_db = integer()
broker_port = integer()
broker_connection_timeout = integer()
celery_broker_connection_max_retries = integer()
celery_task_result_expires = integer()
celery_max_cached_results = integer()
celery_default_rate_limit = integer()
celeryd_max_tasks_per_child = integer()
celeryd_task_time_limit = integer()
celeryd_task_soft_time_limit = integer()
mail_port = integer()
celerybeat_max_loop_interval = integer()
# known floats
celeryd_eta_scheduler_precision = float()
# known lists
celery_routes = string_list()
celery_imports = string_list()