/
omero-server.properties
447 lines (376 loc) · 15.1 KB
/
omero-server.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
##
## omero-server.properties
## -----------------------
##
## DO NOT EDIT!
##
## This properties file is compiled into omero-server.jar and serves as a default
## for all server-side values (client configuration happens differently).
##
## Any of these properties can be altered by using bin/omero config. MODIFYING
## THIS FILE DOES NOT ALTER SERVER BEHAVIOR. It solely defines the defaults
## at compile time!
##
## For an overview of these properties, see
## https://docs.openmicroscopy.org/latest/omero/sysadmins/config.html
##
## Properties marked with "DEVELOPMENT" should not be used in production.
#########################################################
## Policies & restrictions
#########################################################
# Instance of the PolicyService interface which
# will be responsible for checking certain server
# actions made by a user.
omero.policy.bean=defaultPolicyService
# Configuration for the policy of whether users
# can access binary files from disk. Binary access
# includes all attempts to download a file from the
# UI.
#
# The individual components of the string include:
#
# - write - whether or not users who have WRITE
# access to the objects can access the binary.
# This includes group and system administrators.
#
# - read - whether or not users who have READ
# access to the objects can access the binary.
#
# - image - whether or not images are to be considered
# accessible as a rule.
#
# - plate - whether or not plates and contained HCS
# objects are to be considered accessible as a rule.
# This includes wells, well samples, and plate runs.
#
# Though the order of the components of the property
# are not important, the order that they are listed above
# roughly corresponds to their priority. E.g. a -write
# value will override +plate.
#
# Example 1: "-read,+write,+image,-plate" only owners
# of an image and admins can download it.
#
# Example 2: "-read,-write,-image,-plate" no downloading
# is possible.
#
# Configuration properties of the same name can be applied
# to individual groups as well. E.g. adding,
# omero.policy.binary_access=-read to a group, you can
# prevent group-members from downloading original files.
#
# Configuration is pessimistic: if there is a negative
# *either* on the group *or* at the server-level, the
# restriction will be applied. A missing value at the
# server restricts the setting but allows the server
# to override.
#
omero.policy.binary_access=+read,+write,+image
#############################################
## OMERO.scripts properties
#############################################
omero.scripts.timeout=3600000
# Executable on the PATH which will be used for scripts
# with the mimetype 'text/x-python'.
#
# No value implies use sys.executable
omero.launcher.python=
# Executable on the PATH which will be used for scripts
# with the mimetype 'text/x-jython'.
omero.launcher.jython=jython
# Executable on the PATH which will be used for scripts
# with the mimetype 'text/x-matlab'.
omero.launcher.matlab=matlab
# Server implementation which will be used for scripts
# with the mimetype 'text/x-python'. Changing this value
# requires that the appropriate class has been installed
# on the server.
omero.process.python=omero.processor.ProcessI
# Server implementation which will be used for scripts
# with the mimetype 'text/x-jython'. Changing this value
# requires that the appropriate class has been installed
# on the server.
omero.process.jython=omero.processor.ProcessI
# Server implementation which will be used for scripts
# with the mimetype 'text/x-matlab'. Changing this value
# requires that the appropriate class has been installed
# on the server.
omero.process.matlab=omero.processor.MATLABProcessI
# Frequency to reload script params. By default,
# once a day at midnight.
#
# |cron|
omero.scripts.cache.cron=0 0 0 * * ?
# Guava LoadingCache spec for configuring how
# many script JobParams will be kept in memory
# for how long.
#
# For more information, see
# https://google.github.io/guava/releases/27.1-jre/api/docs/com/google/common/cache/CacheBuilderSpec.html
omero.scripts.cache.spec=maximumSize=1000
#############################################
## server configuration
##
##
#############################################
# Which bean to use:
# nullMetrics does nothing
# defaultMetrics uses the properties defined below
omero.metrics.bean=defaultMetrics
# Address for Metrics to send server data
omero.metrics.graphite=
# Number of minutes to periodically print to slf4j
# 0 or lower disables the printout.
omero.metrics.slf4j_minutes=60
#############################################
## Query configuration
#############################################
# For the query service how many seconds before a query times out.
omero.query.timeout=1000
# How many seconds before a query times out for administrative users.
omero.query.timeout.admin=${omero.query.timeout}
#############################################
## Search properties
##
## For more information, see
## https://docs.openmicroscopy.org/latest/omero/developers/Modules/Search.html
#############################################
# Polling frequency of the indexing. Set empty to disable search indexing.
#
# |cron|
omero.search.cron=*/2 * * * * ?
# Size of the batches to process events per indexing.
# Larger batches can speed up indexing, but at the cost of memory.
omero.search.batch=5000
omero.search.event_log_loader=eventLogQueue
##
## New loader: "eventLogQueue"
##
# Number of objects to load in a single
# indexing window. The larger this value
# the fewer times a single object will be
# indexed unnecessarily. Each object uses
# roughly 100 bytes of memory.
omero.search.max_partition_size=1000000
# Whitelist of object types which will be
# indexed. All other types will be ignored.
# This matches the currently available UI
# options but may need to be expanded for
# custom search bridges.
omero.search.include_types=ome.model.core.Image,ome.model.containers.Project,\
ome.model.containers.Dataset,ome.model.screen.Plate,ome.model.screen.Screen,\
ome.model.screen.PlateAcquisition,ome.model.screen.Well
# EventLog.action values which will be indexed.
# Unless custom code is generating other action
# types, this property should not need to be
# modified.
omero.search.include_actions=INSERT,UPDATE,REINDEX,DELETE
##
## Old loader: "persistentEventLogLoader"
##
# Instead, it is possible to tell the server
# to run more indexing repetitions, each of
# which gets completely committed before the
# next. This will only occur when there is
# a substantial backlog of searches to perform.
# (More than 1 hours worth)
#
omero.search.repetitions=1
# Indexing takes place on all EventLogs as they occur in the database.
# The types listed here will be skipped if they appear in the "entityType"
# field of the EventLog table.
omero.search.excludes=\
ome.model.annotations.ChannelAnnotationLink,\
ome.model.core.Channel,ome.model.core.PlaneInfo,ome.model.core.PixelsOriginalFileMap,\
ome.model.containers.DatasetImageLink,ome.model.containers.ProjectDatasetLink,\
ome.model.containers.CategoryGroupCategoryLink,ome.model.containers.CategoryImageLink,\
ome.model.display.ChannelBinding,ome.model.display.QuantumDef,\
ome.model.display.Thumbnail,\
ome.model.meta.Share,ome.model.meta.Event,ome.model.meta.EventLog,ome.model.meta.GroupExperimenterMap,\
ome.model.meta.Node,ome.model.meta.Session,\
ome.model.annotations.RoiAnnotationLink,ome.model.roi.Roi,ome.model.roi.Shape,ome.model.roi.Text,\
ome.model.roi.Rectangle,ome.model.roi.Mask,ome.model.roi.Ellipse,ome.model.roi.Point,\
ome.model.roi.Path,ome.model.roi.Polygon,ome.model.roi.Polyline,ome.model.roi.Line,\
ome.model.screen.ScreenAcquisitionWellSampleLink,ome.model.screen.ScreenPlateLink,ome.model.screen.WellReagentLink,\
ome.model.stats.StatsInfo
##
## Common properties
##
# Periodically the completion percentage will be printed.
# The calculation can be expensive and so is not done
# frequently.
omero.search.reporting_loops=100
# Analyzer used both index and to parse queries
omero.search.analyzer=ome.services.fulltext.FullTextAnalyzer
# Maximum file size for text indexing (bytes)
# If a file larger than this is attached, e.g. to an image, the indexer will
# simply ignore the contents of the file when creating the search index.
# This should not be set to more than half of the Indexer heap space.
#
# .. note::
# If you set the max file size to greater than 1/2 the size of the
# indexer's heap (256 MB by default), you may encounter Out of Memory
# errors in the Indexer process or you may cause the search index to
# become corrupt. Be sure that you also increase the heap size accordingly
# (see :ref:`out_of_memory_error`).
omero.search.max_file_size=131072000
# Extra bridge classes, comma-separated, to be invoked on each indexing.
# Bridges are used to parse more information out of the data.
omero.search.bridges=
omero.search.locking_strategy=native
omero.search.merge_factor=25
omero.search.ram_buffer_size=64
#############################################
## session configuration
##
## timeout values are in milliseconds to make
## comparison with start/finish values more
## straightforward
#############################################
# Sets the duration of inactivity in milliseconds after which
# a login is required.
omero.sessions.timeout=600000
omero.sessions.maximum=0
omero.sessions.sync_interval=120000
omero.sessions.sync_force=1800000
#############################################
## threading configuring
##
## sets timeouts and thread pool information
## for internal server threads.
#############################################
# Number of threads that will be kept waiting
# at all times.
omero.threads.min_threads=5
omero.threads.idle_timeout=5000
omero.threads.cancel_timeout=5000
# Maximum number of threads that can simultaneously
# run at the "USER" priority level. Internal system
# threads may still run.
omero.threads.max_threads=50
# Number of threads from the max_threads pool that can
# be used at any given time for background tasks like
# import.
omero.threads.background_threads=10
# Number of milliseconds to wait for a slot in the
# background queue before a rejection error will be
# raised.
omero.threads.background_timeout=3600000
#############################################
## throttling configuration
##
## timeout values are in milliseconds to make
## comparison with start/finish values more
## straightforward
##
## For more information, see
## https://docs.openmicroscopy.org/latest/omero/developers/Server/Throttling.html
#############################################
omero.throttling.objects_read_interval=1000
omero.throttling.objects_written_interval=1000
# Time in milliseconds after which a single method invocation
# will print a WARN statement to the server log.
omero.throttling.method_time.warn=5000
# Time in milliseconds after which a single method invocation
# will print a ERROR statement to the server log. If ERRORs
# are frequently being printed to your logs, you may want to
# increase this value after checking that no actual problem
# exists. Values of more than 60000 (1 minute) are not advised.
omero.throttling.method_time.error=20000
omero.throttling.servants_per_session=10000
# Value for the indexer is extended to 1 hour
omero.throttling.method_time.warn.indexer=3600000
# Value for the indexer is extended to 1 day
omero.throttling.method_time.error.indexer=86400000
#############################################
## Ldap properties
#############################################
# Enable or disable LDAP (`true` or `false`).
omero.ldap.config=false
# Set the URL of the LDAP server. A |SSL| URL for this
# property would be of the form: ldaps://ldap.example.com:636
omero.ldap.urls=ldap://localhost:389
# LDAP server bind DN (if required; can be empty)
omero.ldap.username=
# LDAP server bind password (if required; can be empty)
omero.ldap.password=
# LDAP server base search DN, i.e. the filter that is applied
# to all users. (can be empty in which case any LDAP user is
# valid)
omero.ldap.base=ou=example,o=com
# Available referral options are: "ignore", "follow", or "throw"
# as per the JNDI referral documentation.
omero.ldap.referral=ignore
# Whether or not values from LDAP will be
# synchronized to OMERO on each login. This includes
# not just the username, email, etc, but also the
# groups that the user is a member of.
#
# .. note::
# Admin actions carried out in the clients may
# not survive this synchronization e.g. LDAP
# users removed from an LDAP group in the UI
# will be re-added to the group when logging in
# again after the synchronization.
#
omero.ldap.sync_on_login=false
omero.ldap.user_filter=(objectClass=person)
omero.ldap.user_mapping=omeName=cn,firstName=givenName,lastName=sn,email=mail,institution=department,middleName=middleName
omero.ldap.group_filter=(objectClass=groupOfNames)
omero.ldap.group_mapping=name=cn
# Without a prefix the "new_user_group" property specifies
# the name of a single group which all new users will be
# added to. Other new_user_group strings are prefixed with
# ``:x:`` and specify various lookups which should take
# place to find one or more target groups for the new user.
#
# ``:ou:`` uses the final organizational unit of a user's dn
# as the single OMERO group e.g. ``omero.ldap.new_user_group=:ou:``
#
#
# ``:attribute:`` uses all the values of the specified
# attribute as the name of multiple OMERO groups. e.g.
# ``omero.ldap.new_user_group=:attribute:memberOf``
#
# Like ``:attribute:``, ``:filtered_attribute:`` uses all the
# values of the specified attribute as the name of
# multiple OMERO groups but the attribute must pass
# the same filter as ``:query:`` does. e.g.
# ``omero.ldap.new_user_group=:filtered_attribute:memberOf``
#
# Similar to ``:attribute:``, ``:dn_attribute:`` uses all the
# values of the specified attribute as the DN of
# multiple OMERO groups. e.g.
# ``omero.ldap.new_user_group=:dn_attribute:memberOf``
#
# A combination of filtered_attribute and dn_attribute,
# ``:filtered_dn_attribute:`` uses all of the values of the
# specified attribute as the DN of multiple OMERO groups
# but the attribute must pass the same filter as ``:query:``
# e.g. ``omero.ldap.new_user_group=:filtered_dn_attribute:memberOf``
#
# ``:query:`` performs a query for groups. The "name"
# property will be taken as defined by omero.ldap.group_mapping
# and the resulting filter will be AND'ed with the value
# group_filter (above) e.g.
# ``omero.ldap.new_user_group=:query:(member=@{dn})``
#
# ``:bean:`` looks in the server's context for a
# bean with the given name which implements
# ``ome.security.auth.NewUserGroupBean`` e.g.
# ``omero.ldap.new_user_group=:bean:myNewUserGroupMapperBean``
#
omero.ldap.new_user_group=default
# A query element to check if user who is being created
# via the new_user_group setting should be made a
# "manager", i.e. owner, of the queried group. E.g.
# ``omero.ldap.new_user_group_owner=(owner=@{dn})``
# will use the 'manager' attribute to set the 'owner'
# flag in the database. This query element is appended
# to any query used by new_user_group with an AND.
#
# This property is not used by new_user_group type
# 'default' and only potentially by ``:bean:``.
omero.ldap.new_user_group_owner=
# Value dynamically set during the build
omero.version=