image media_type now have their own config_spec.ini
[mediagoblin.git] / mediagoblin / config_spec.ini
CommitLineData
0fcfff5a 1[mediagoblin]
3c0411f5
PUS
2# HTML title of the pages
3html_title = string(default="GNU MediaGoblin")
4
ff6933fa
CAW
5# link to source for this MediaGoblin site
6source_link = string(default="https://gitorious.org/mediagoblin/mediagoblin")
7
8abeaf2f 8# database stuff
a45631e3 9sql_engine = string(default="sqlite:///%(here)s/mediagoblin.db")
6db23bd9
EL
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.
4a698535 13run_migrations = boolean(default=False)
6db23bd9 14
0fcfff5a 15# Where temporary files used in processing and etc are kept
3f5cf663 16workbench_path = string(default="%(here)s/user_dev/media/workbench")
0fcfff5a 17
5907154a
E
18# Where to store cryptographic sensible data
19crypto_path = string(default="%(here)s/user_dev/crypto")
20
0fcfff5a
CAW
21# Where mediagoblin-builtin static assets are kept
22direct_remote_path = string(default="/mgoblin_static/")
23
24# set to false to enable sending notices
25email_debug_mode = boolean(default=True)
2d7b6bde 26email_smtp_use_ssl = boolean(default=False)
0fcfff5a 27email_sender_address = string(default="notice@mediagoblin.example.org")
d71170ad 28email_smtp_host = string(default='')
2d7b6bde 29email_smtp_port = integer(default=0)
47364ead
JW
30email_smtp_user = string(default=None)
31email_smtp_pass = string(default=None)
0fcfff5a 32
13677ef9
RL
33# Set to false to disable registrations
34allow_registration = boolean(default=True)
35
10d7496d 36# tag parsing
86bd1f3c 37tags_max_length = integer(default=255)
10d7496d 38
20f8f50c
DT
39# Enable/disable comments
40allow_comments = boolean(default=True)
41
7c378f2c
CAW
42# Whether comments are ascending or descending
43comments_ascending = boolean(default=True)
44
3f5cf663
CAW
45# By default not set, but you might want something like:
46# "%(here)s/user_dev/templates/"
47local_templates = string()
0fcfff5a
CAW
48
49# Whether or not celery is set up via an environment variable or
50# something else (and thus mediagoblin should not attempt to set it up
51# itself)
52celery_setup_elsewhere = boolean(default=False)
53
2c437493
JW
54# Whether or not users are able to upload files of any filetype with
55# their media entries -- This is useful if you want to provide the
56# source files for a media file but can also be a HUGE security risk.
57allow_attachments = boolean(default=False)
58
f1226c98 59# Cookie stuff
2dc8d249 60csrf_cookie_name = string(default='mediagoblin_csrftoken')
894fa564 61
5b1a7bae 62# Push stuff
bb025ebd 63push_urls = string_list(default=list())
5907222c
JW
64
65exif_visible = boolean(default=False)
24d310e4 66original_date_visible = boolean(default=False)
8aeb6738 67
3b47da8e
CAW
68# Theming stuff
69theme_install_dir = string(default="%(here)s/user_dev/themes/")
9a422c1f 70theme_web_path = string(default="/theme_static/")
aed7474e 71theme_linked_assets_dir = string(default="%(here)s/user_dev/theme_static/")
3b47da8e
CAW
72theme = string()
73
5ccb16ca
CAW
74# plugin default assets directory
75plugin_web_path = string(default="/plugin_static/")
76plugin_linked_assets_dir = string(default="%(here)s/user_dev/plugin_static/")
77
155d234d
KD
78[jinja2]
79# Jinja2 supports more directives than the minimum required by mediagoblin.
80# This setting allows users creating custom templates to specify a list of
81# additional extensions they want to use. example value:
82# extensions = jinja2.ext.loopcontrols , jinja2.ext.with_
83extensions = string_list(default=list())
3b47da8e 84
ed797069 85[storage:publicstore]
a2468d18 86storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
ed797069
E
87base_dir = string(default="%(here)s/user_dev/media/public")
88base_url = string(default="/mgoblin_media/")
89
90[storage:queuestore]
a2468d18 91storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
ed797069
E
92base_dir = string(default="%(here)s/user_dev/media/queue")
93
10085b77 94[media:medium]
4f4f2531 95# Dimensions used when creating media display images.
10085b77
JW
96max_width = integer(default=640)
97max_height = integer(default=640)
98
99[media:thumb]
4f4f2531
JW
100# Dimensions used when creating media thumbnails
101# This is unfortunately not implemented in the media
102# types yet. You can help!
103# TODO: Make plugins follow the media size settings
10085b77
JW
104max_width = integer(default=180)
105max_height = integer(default=180)
894fa564 106
23caf305 107[media_type:mediagoblin.media_types.video]
5a34a80d 108# Should we keep the original file?
23caf305
CAW
109keep_original = boolean(default=False)
110
196a5181
JW
111# 0 means autodetect, autodetect means number_of_CPUs - 1
112vp8_threads = integer(default=0)
113# Range: 0..10
114vp8_quality = integer(default=8)
115# Range: -0.1..1
116vorbis_quality = float(default=0.3)
117
6f6471aa 118# Autoplay the video when page is loaded?
316ede47 119auto_play = boolean(default=False)
6f6471aa 120
5c754fda
JW
121[[skip_transcode]]
122mime_types = string_list(default=list("video/webm"))
123container_formats = string_list(default=list("Matroska"))
124video_codecs = string_list(default=list("VP8 video"))
125audio_codecs = string_list(default=list("Vorbis"))
126dimensions_match = boolean(default=True)
196a5181 127
5a34a80d 128[media_type:mediagoblin.media_types.audio]
b781c3c9 129keep_original = boolean(default=True)
cd305837 130# vorbisenc quality
5a34a80d 131quality = float(default=0.3)
deea3f66 132create_spectrogram = boolean(default=True)
196a5181
JW
133spectrogram_fft_size = integer(default=4096)
134
196a5181
JW
135[media_type:mediagoblin.media_types.ascii]
136thumbnail_font = string(default=None)
23caf305 137
a80ebf3b 138[media_type:mediagoblin.media_types.pdf]
d28c5066 139pdf_js = boolean(default=True)
0533f117 140
35f6d6a7 141
0fcfff5a 142[celery]
e629cde0 143# default result stuff
6bcdd4dc
LS
144CELERY_RESULT_BACKEND = string(default="database")
145CELERY_RESULT_DBURI = string(default="sqlite:///%(here)s/celery.db")
e629cde0
CAW
146
147# default kombu stuff
6bcdd4dc 148BROKER_TRANSPORT = string(default="sqlalchemy")
41098dff 149BROKER_URL = string(default="sqlite:///%(here)s/kombu.db")
e629cde0 150
0fcfff5a 151# known booleans
6bcdd4dc
LS
152CELERY_RESULT_PERSISTENT = boolean()
153CELERY_CREATE_MISSING_QUEUES = boolean()
154BROKER_USE_SSL = boolean()
155BROKER_CONNECTION_RETRY = boolean()
156CELERY_ALWAYS_EAGER = boolean()
157CELERY_EAGER_PROPAGATES_EXCEPTIONS = boolean()
158CELERY_IGNORE_RESULT = boolean()
159CELERY_TRACK_STARTED = boolean()
160CELERY_DISABLE_RATE_LIMITS = boolean()
161CELERY_ACKS_LATE = boolean()
162CELERY_STORE_ERRORS_EVEN_IF_IGNORED = boolean()
163CELERY_SEND_TASK_ERROR_EMAILS = boolean()
164CELERY_SEND_EVENTS = boolean()
165CELERY_SEND_TASK_SENT_EVENT = boolean()
166CELERYD_LOG_COLOR = boolean()
167CELERY_REDIRECT_STDOUTS = boolean()
0fcfff5a
CAW
168
169# known ints
6bcdd4dc
LS
170CELERYD_CONCURRENCY = integer()
171CELERYD_PREFETCH_MULTIPLIER = integer()
172CELERY_AMQP_TASK_RESULT_EXPIRES = integer()
173CELERY_AMQP_TASK_RESULT_CONNECTION_MAX = integer()
174REDIS_PORT = integer()
175REDIS_DB = integer()
176BROKER_PORT = integer()
177BROKER_CONNECTION_TIMEOUT = integer()
178CELERY_BROKER_CONNECTION_MAX_RETRIES = integer()
179CELERY_TASK_RESULT_EXPIRES = integer()
180CELERY_MAX_CACHED_RESULTS = integer()
181CELERY_DEFAULT_RATE_LIMIT = integer()
182CELERYD_MAX_TASKS_PER_CHILD = integer()
183CELERYD_TASK_TIME_LIMIT = integer()
184CELERYD_TASK_SOFT_TIME_LIMIT = integer()
185MAIL_PORT = integer()
186CELERYBEAT_MAX_LOOP_INTERVAL = integer()
0fcfff5a
CAW
187
188# known floats
6bcdd4dc 189CELERYD_ETA_SCHEDULER_PRECISION = float()
0fcfff5a
CAW
190
191# known lists
6bcdd4dc
LS
192CELERY_ROUTES = string_list()
193CELERY_IMPORTS = string_list()