Add a modify_request hook
[mediagoblin.git] / mediagoblin / config_spec.ini
1 [mediagoblin]
2 # HTML title of the pages
3 html_title = string(default="GNU MediaGoblin")
4
5 # link to source for this MediaGoblin site
6 source_link = string(default="https://gitorious.org/mediagoblin/mediagoblin")
7
8 # database stuff
9 sql_engine = string(default="sqlite:///%(here)s/mediagoblin.db")
10
11 # This flag is used during testing to allow use of in-memory SQLite
12 # databases. It is not recommended to be used on a running instance.
13 run_migrations = boolean(default=False)
14
15 # Where temporary files used in processing and etc are kept
16 workbench_path = string(default="%(here)s/user_dev/media/workbench")
17
18 # Where to store cryptographic sensible data
19 crypto_path = string(default="%(here)s/user_dev/crypto")
20
21 # Where mediagoblin-builtin static assets are kept
22 direct_remote_path = string(default="/mgoblin_static/")
23
24 # set to false to enable sending notices
25 email_debug_mode = boolean(default=True)
26 email_smtp_use_ssl = boolean(default=False)
27 email_sender_address = string(default="notice@mediagoblin.example.org")
28 email_smtp_host = string(default='')
29 email_smtp_port = integer(default=0)
30 email_smtp_user = string(default=None)
31 email_smtp_pass = string(default=None)
32
33 # Set to false to disable registrations
34 allow_registration = boolean(default=True)
35
36 # tag parsing
37 tags_max_length = integer(default=255)
38
39 # Enable/disable comments
40 allow_comments = boolean(default=True)
41
42 # Whether comments are ascending or descending
43 comments_ascending = boolean(default=True)
44
45 # Enable/disable reporting
46 allow_reporting = boolean(default=True)
47
48 # Enable/disable terms of service
49 # ... Note: you can override the terms of service template on a
50 # per-site basis...
51 show_tos = boolean(default=False)
52
53 # By default not set, but you might want something like:
54 # "%(here)s/user_dev/templates/"
55 local_templates = string()
56
57 # Whether or not celery is set up via an environment variable or
58 # something else (and thus mediagoblin should not attempt to set it up
59 # itself)
60 celery_setup_elsewhere = boolean(default=False)
61
62 # Whether or not users are able to upload files of any filetype with
63 # their media entries -- This is useful if you want to provide the
64 # source files for a media file but can also be a HUGE security risk.
65 allow_attachments = boolean(default=False)
66
67 # Cookie stuff
68 csrf_cookie_name = string(default='mediagoblin_csrftoken')
69
70 # Push stuff
71 push_urls = string_list(default=list())
72
73 exif_visible = boolean(default=False)
74 original_date_visible = boolean(default=False)
75
76 # Theming stuff
77 theme_install_dir = string(default="%(here)s/user_dev/themes/")
78 theme_web_path = string(default="/theme_static/")
79 theme_linked_assets_dir = string(default="%(here)s/user_dev/theme_static/")
80 theme = string()
81
82 # plugin default assets directory
83 plugin_web_path = string(default="/plugin_static/")
84 plugin_linked_assets_dir = string(default="%(here)s/user_dev/plugin_static/")
85
86 # Default user upload limit (in Mb)
87 upload_limit = integer(default=None)
88
89 # Max file size (in Mb)
90 max_file_size = integer(default=None)
91
92 # Privilege scheme
93 user_privilege_scheme = string(default="uploader,commenter,reporter")
94
95 [jinja2]
96 # Jinja2 supports more directives than the minimum required by mediagoblin.
97 # This setting allows users creating custom templates to specify a list of
98 # additional extensions they want to use. example value:
99 # extensions = jinja2.ext.loopcontrols , jinja2.ext.with_
100 extensions = string_list(default=list())
101
102 [storage:publicstore]
103 storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
104 base_dir = string(default="%(here)s/user_dev/media/public")
105 base_url = string(default="/mgoblin_media/")
106
107 [storage:queuestore]
108 storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
109 base_dir = string(default="%(here)s/user_dev/media/queue")
110
111 [media:medium]
112 # Dimensions used when creating media display images.
113 max_width = integer(default=640)
114 max_height = integer(default=640)
115
116 [media:thumb]
117 # Dimensions used when creating media thumbnails
118 # This is unfortunately not implemented in the media
119 # types yet. You can help!
120 # TODO: Make plugins follow the media size settings
121 max_width = integer(default=180)
122 max_height = integer(default=180)
123
124 [celery]
125 # default result stuff
126 CELERY_RESULT_BACKEND = string(default="database")
127 CELERY_RESULT_DBURI = string(default="sqlite:///%(here)s/celery.db")
128
129 # default kombu stuff
130 BROKER_TRANSPORT = string(default="sqlalchemy")
131 BROKER_URL = string(default="sqlite:///%(here)s/kombu.db")
132
133 # known booleans
134 CELERY_RESULT_PERSISTENT = boolean()
135 CELERY_CREATE_MISSING_QUEUES = boolean()
136 BROKER_USE_SSL = boolean()
137 BROKER_CONNECTION_RETRY = boolean()
138 CELERY_ALWAYS_EAGER = boolean()
139 CELERY_EAGER_PROPAGATES_EXCEPTIONS = boolean()
140 CELERY_IGNORE_RESULT = boolean()
141 CELERY_TRACK_STARTED = boolean()
142 CELERY_DISABLE_RATE_LIMITS = boolean()
143 CELERY_ACKS_LATE = boolean()
144 CELERY_STORE_ERRORS_EVEN_IF_IGNORED = boolean()
145 CELERY_SEND_TASK_ERROR_EMAILS = boolean()
146 CELERY_SEND_EVENTS = boolean()
147 CELERY_SEND_TASK_SENT_EVENT = boolean()
148 CELERYD_LOG_COLOR = boolean()
149 CELERY_REDIRECT_STDOUTS = boolean()
150
151 # known ints
152 CELERYD_CONCURRENCY = integer()
153 CELERYD_PREFETCH_MULTIPLIER = integer()
154 CELERY_AMQP_TASK_RESULT_EXPIRES = integer()
155 CELERY_AMQP_TASK_RESULT_CONNECTION_MAX = integer()
156 REDIS_PORT = integer()
157 REDIS_DB = integer()
158 BROKER_PORT = integer()
159 BROKER_CONNECTION_TIMEOUT = integer()
160 CELERY_BROKER_CONNECTION_MAX_RETRIES = integer()
161 CELERY_TASK_RESULT_EXPIRES = integer()
162 CELERY_MAX_CACHED_RESULTS = integer()
163 CELERY_DEFAULT_RATE_LIMIT = integer()
164 CELERYD_MAX_TASKS_PER_CHILD = integer()
165 CELERYD_TASK_TIME_LIMIT = integer()
166 CELERYD_TASK_SOFT_TIME_LIMIT = integer()
167 MAIL_PORT = integer()
168 CELERYBEAT_MAX_LOOP_INTERVAL = integer()
169
170 # known floats
171 CELERYD_ETA_SCHEDULER_PRECISION = float()
172
173 # known lists
174 CELERY_ROUTES = string_list()
175 CELERY_IMPORTS = string_list()