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