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