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