4547ea545c65d76432372103bba98e821ddf6075
[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 # Enabled media types
9 media_types = string_list(default=list("mediagoblin.media_types.image"))
10
11 # database stuff
12 sql_engine = string(default="sqlite:///%(here)s/mediagoblin.db")
13
14 # Where temporary files used in processing and etc are kept
15 workbench_path = string(default="%(here)s/user_dev/media/workbench")
16
17 # Where to store cryptographic sensible data
18 crypto_path = string(default="%(here)s/user_dev/crypto")
19
20 # Where mediagoblin-builtin static assets are kept
21 direct_remote_path = string(default="/mgoblin_static/")
22
23 # set to false to enable sending notices
24 email_debug_mode = boolean(default=True)
25 email_smtp_use_ssl = boolean(default=False)
26 email_sender_address = string(default="notice@mediagoblin.example.org")
27 email_smtp_host = string(default='')
28 email_smtp_port = integer(default=0)
29 email_smtp_user = string(default=None)
30 email_smtp_pass = string(default=None)
31
32 # Set to false to disable registrations
33 allow_registration = boolean(default=True)
34
35 # tag parsing
36 tags_max_length = integer(default=255)
37
38 # Enable/disable comments
39 allow_comments = boolean(default=True)
40
41 # Whether comments are ascending or descending
42 comments_ascending = boolean(default=True)
43
44 # By default not set, but you might want something like:
45 # "%(here)s/user_dev/templates/"
46 local_templates = string()
47
48 # Whether or not celery is set up via an environment variable or
49 # something else (and thus mediagoblin should not attempt to set it up
50 # itself)
51 celery_setup_elsewhere = boolean(default=False)
52
53 # Whether or not users are able to upload files of any filetype with
54 # their media entries -- This is useful if you want to provide the
55 # source files for a media file but can also be a HUGE security risk.
56 allow_attachments = boolean(default=False)
57
58 # Cookie stuff
59 csrf_cookie_name = string(default='mediagoblin_csrftoken')
60
61 # Push stuff
62 push_urls = string_list(default=list())
63
64 exif_visible = boolean(default=False)
65 original_date_visible = boolean(default=False)
66
67 # Theming stuff
68 theme_install_dir = string(default="%(here)s/user_dev/themes/")
69 theme_web_path = string(default="/theme_static/")
70 theme_linked_assets_dir = string(default="%(here)s/user_dev/theme_static/")
71 theme = string()
72
73 # plugin default assets directory
74 plugin_web_path = string(default="/plugin_static/")
75 plugin_linked_assets_dir = string(default="%(here)s/user_dev/plugin_static/")
76
77
78 [storage:publicstore]
79 storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
80 base_dir = string(default="%(here)s/user_dev/media/public")
81 base_url = string(default="/mgoblin_media/")
82
83 [storage:queuestore]
84 storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")
85 base_dir = string(default="%(here)s/user_dev/media/queue")
86
87 [media:medium]
88 # Dimensions used when creating media display images.
89 max_width = integer(default=640)
90 max_height = integer(default=640)
91
92 [media:thumb]
93 # Dimensions used when creating media thumbnails
94 # This is unfortunately not implemented in the media
95 # types yet. You can help!
96 # TODO: Make plugins follow the media size settings
97 max_width = integer(default=180)
98 max_height = integer(default=180)
99
100 [media_type:mediagoblin.media_types.image]
101 # One of BICUBIC, BILINEAR, NEAREST, ANTIALIAS
102 resize_filter = string(default="ANTIALIAS")
103 #level of compression used when resizing images
104 quality = integer(default=90)
105
106 [media_type:mediagoblin.media_types.video]
107 # Should we keep the original file?
108 keep_original = boolean(default=False)
109
110 # 0 means autodetect, autodetect means number_of_CPUs - 1
111 vp8_threads = integer(default=0)
112 # Range: 0..10
113 vp8_quality = integer(default=8)
114 # Range: -0.1..1
115 vorbis_quality = float(default=0.3)
116
117 # Autoplay the video when page is loaded?
118 auto_play = boolean(default=True)
119
120 [[skip_transcode]]
121 mime_types = string_list(default=list("video/webm"))
122 container_formats = string_list(default=list("Matroska"))
123 video_codecs = string_list(default=list("VP8 video"))
124 audio_codecs = string_list(default=list("Vorbis"))
125 dimensions_match = boolean(default=True)
126
127 [media_type:mediagoblin.media_types.audio]
128 keep_original = boolean(default=True)
129 # vorbisenc quality
130 quality = float(default=0.3)
131 create_spectrogram = boolean(default=True)
132 spectrogram_fft_size = integer(default=4096)
133
134 [media_type:mediagoblin.media_types.ascii]
135 thumbnail_font = string(default=None)
136
137 [media_type:mediagoblin.media_types.pdf]
138 pdf_js = boolean(default=True)
139
140
141 [celery]
142 # default result stuff
143 CELERY_RESULT_BACKEND = string(default="database")
144 CELERY_RESULT_DBURI = string(default="sqlite:///%(here)s/celery.db")
145
146 # default kombu stuff
147 BROKER_TRANSPORT = string(default="sqlalchemy")
148 BROKER_HOST = string(default="sqlite:///%(here)s/kombu.db")
149
150 # known booleans
151 CELERY_RESULT_PERSISTENT = boolean()
152 CELERY_CREATE_MISSING_QUEUES = boolean()
153 BROKER_USE_SSL = boolean()
154 BROKER_CONNECTION_RETRY = boolean()
155 CELERY_ALWAYS_EAGER = boolean()
156 CELERY_EAGER_PROPAGATES_EXCEPTIONS = boolean()
157 CELERY_IGNORE_RESULT = boolean()
158 CELERY_TRACK_STARTED = boolean()
159 CELERY_DISABLE_RATE_LIMITS = boolean()
160 CELERY_ACKS_LATE = boolean()
161 CELERY_STORE_ERRORS_EVEN_IF_IGNORED = boolean()
162 CELERY_SEND_TASK_ERROR_EMAILS = boolean()
163 CELERY_SEND_EVENTS = boolean()
164 CELERY_SEND_TASK_SENT_EVENT = boolean()
165 CELERYD_LOG_COLOR = boolean()
166 CELERY_REDIRECT_STDOUTS = boolean()
167
168 # known ints
169 CELERYD_CONCURRENCY = integer()
170 CELERYD_PREFETCH_MULTIPLIER = integer()
171 CELERY_AMQP_TASK_RESULT_EXPIRES = integer()
172 CELERY_AMQP_TASK_RESULT_CONNECTION_MAX = integer()
173 REDIS_PORT = integer()
174 REDIS_DB = integer()
175 BROKER_PORT = integer()
176 BROKER_CONNECTION_TIMEOUT = integer()
177 CELERY_BROKER_CONNECTION_MAX_RETRIES = integer()
178 CELERY_TASK_RESULT_EXPIRES = integer()
179 CELERY_MAX_CACHED_RESULTS = integer()
180 CELERY_DEFAULT_RATE_LIMIT = integer()
181 CELERYD_MAX_TASKS_PER_CHILD = integer()
182 CELERYD_TASK_TIME_LIMIT = integer()
183 CELERYD_TASK_SOFT_TIME_LIMIT = integer()
184 MAIL_PORT = integer()
185 CELERYBEAT_MAX_LOOP_INTERVAL = integer()
186
187 # known floats
188 CELERYD_ETA_SCHEDULER_PRECISION = float()
189
190 # known lists
191 CELERY_ROUTES = string_list()
192 CELERY_IMPORTS = string_list()