See also
Help for any specific CLI command can be displayed using the -h argument. See Command line help for more information.
When first beginning to work with the OMERO server, the omero db, omero config, and omero admin commands will be the first you will need.
Rather than try to provide the functionality of a RDBM tool like psql, the omero db script command helps to generate SQL scripts for building your database. You can then use those scripts from whatever tool is most comfortable for you:
$ bin/omero db script OMERO4 0 secretpassword
Using OMERO4 for version
Using 0 for patch
Using password from commandline
Saving to /omero/OMERO4__0.sql
$ psql omero < OMERO4__0.sql
The omero config command is responsible for reading / writing user-specific profiles stored under etc/grid/config.xml. To get the current profile, use the omero config def command:
$ bin/omero config def
default
You can then examine the current profile keys using omero config get and set key-value pairs using omero config set:
$ bin/omero config get
$ bin/omero config set example "my first value"
$ bin/omero config get
example=my first value
You can use the OMERO_CONFIG environment variable to point at a different profile, e.g.:
$ OMERO_CONFIG=another bin/omero config def
another
$ OMERO_CONFIG=another bin/omero config get
$ OMERO_CONFIG=another bin/omero config set example "my second value"
$ OMERO_CONFIG=another bin/omero config get
example=my second value
The values set via omero config set override those compiled into the server jars. The default values which are set can be seen in Configuration properties. To add several values to a configuration, you can pipe them via standard in using omero config load:
$ grep omero.ldap etc/omero.properties | OMERO_CONFIG=ldap bin/omero config load
$ OMERO_CONFIG=ldap bin/omero config get
omero.ldap.attributes=objectClass
omero.ldap.base=ou=example,o=com
omero.ldap.config=false
omero.ldap.groups=
omero.ldap.keyStore=
omero.ldap.keyStorePassword=
omero.ldap.new_user_group=default
omero.ldap.password=
omero.ldap.protocol=
omero.ldap.trustStore=
omero.ldap.trustStorePassword=
omero.ldap.urls=ldap://localhost:389
omero.ldap.username=
omero.ldap.values=person
Each of these values can then be modified to suit your local setup. To remove one of the key-value pairs, pass no second argument:
$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.trustStore
$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.trustStorePassword
$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.keyStore
$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.keyStorePassword
$ OMERO_CONFIG=ldap bin/omero config get
omero.ldap.attributes=objectClass
omero.ldap.base=ou=example,o=com
omero.ldap.config=false
omero.ldap.groups=
omero.ldap.new_user_group=default
omero.ldap.password=
omero.ldap.protocol=
omero.ldap.urls=ldap://localhost:389
omero.ldap.username=
omero.ldap.values=person
If you will be using a particular profile more frequently you can set it as your default using the omero config def command:
$ bin/omero config def ldap
And finally, if you would like to remove a profile, for example to wipe a given password off of a system, use omero config drop:
$ bin/omero config drop
Once your database has been properly configured and your config profile is set to use that database, you are ready to start your server using the omero admin start command:
$ bin/omero admin start
Note
omero admin start and omero admin restart provide a useful debugging and maintenance option called --foreground. Using this option allows for starting the server up in the foreground, that is without creating a daemon on UNIX-like systems or service on Windows. During the lifetime of the server, the prompt from which it was launched will be blocked.
$ bin/omero admin diagnostics
The omero user and omero group commands provide functionalities to add and manage users and groups on your database.
New users can be added to the database using the omero user add command:
$ bin/omero user add -h
During the addition of the new user, you will need to specify the first and last name of the new user and their username as well as the groups the user belongs to. To add John Smith as a member of group 2 identified as jsmith, enter:
$ bin/omero user add jsmith John Smith 2
Additional parameters such as the email address, institution, middle name etc can be passed as optional arguments to the omero user add command.
New groups can be added to the database using the omero group add command:
$ bin/omero group add -h
During the addition of the new group, you need to specify the name of the new group:
$ bin/omero group add newgroup
The permissions of the group are set to private by default. Alternatively you can specify the permissions using --perms or --type optional arguments:
$ bin/omero group add read-only-1 --perms='rwr---'
$ bin/omero group add read-annotate-1 --type=read-annotate
See also
Lists of users/groups on the OMERO server can be queried using the omero user list and omero group list commands:
$ bin/omero user list
$ bin/omero group list
Users can be added to existing groups using the omero user joingroup or omero group adduser commands. Similarly, users can be removed from existing groups using the omero user leavegroup or omero group removeuser commands:
# Add jsmith to group read-annotate-1
$ bin/omero group adduser jsmith --name=read-annotate-1
# Remove jsmith from group read-annotate-1
$ bin/omero group removeuser jsmith --name=read-annotate-1
# Add jsmith to group read-only-1
$ bin/omero user joingroup read-only-1 --name=jsmith
# Remove jsmith from group read-only-1
$ bin/omero user leavegroup read-only-1 --name=jsmith
By passing the --as-owner option, these commands can also be used to manage group owners
# Add jsmith to the owner list of group read-annotate-1
$ bin/omero group adduser jsmith --name=read-annotate-1 --as-owner
# Remove jsmith from the owner list of group read-annotate-1
$ bin/omero user leavegroup read-annotate-1 --name=jsmith --as-owner
To create a copy of a group, you must first create a new group using the omero group add command:
$ bin/omero group add read-only-2 --perms='rwr---'
Then you can use the omero group copyusers command to copy all group members from one group to another:
$ bin/omero group copyusers read-only-1 read-only-2
To copy the group owners, use the same command with the --as-owner optional argument:
$ bin/omero group copyusers read-only-1 read-only-2 --as-owner
Since 5.0.2, the CLI includes a sudo functionality for administrators allowing them to execute commands as another user. For example, to login as username, the root user can invoke the following command:
$ bin/omero login --sudo root -s servername -u username
Password for root:
The --sudo option is available to all commands accepting connection arguments. For instance to import data for user username:
$ bin/omero import --sudo root -s servername -u username image.tiff
Since 5.0.3 it is possible to list images, filesets and the repositories that contain them. At an administrator-only level it is also possible to move filesets. This functionality is provided by the omero fs command. See
$ bin/omero fs -h
The omero fs repos subcommand lists the repositories used by OMERO. For example
bin/omero fs repos
# | Id | UUID | Type | Path
---+----+--------------------------------------+---------+--------------------------
0 | 1 | 83bf5c68-8236-47ff-ae3e-728674eb0103 | Managed | /OMERO/ManagedRepository
1 | 2 | ad899754-bff0-4605-a234-acd4da178f3b | Public | /OMERO
2 | 3 | ScriptRepo | Script | /dist/lib/scripts
The options available to this subcommand are:
Display the help for this subcommand.
This option determines the output style, tabular sql being the default as in the previous example. The csv style is comma-separated values with an initial header row, plain is the same as csv but without the header row.
This option lists only Managed repositories.
For example
bin/omero fs repos --managed --style=csv
#,Id,UUID,Type,Path
0,1,83bf5c68-8236-47ff-ae3e-728674eb0103,Managed,/OMERO/ManagedRepository
The omero fs sets subcommand lists filesets by various criteria. Filesets are bundles of original data imported into OMERO 5 and above, which represent one or more images. For example
bin/omero fs sets
# | Id | Prefix | Images | Files | Transfer
----+-------+-----------------------------------+--------+-------+----------
0 | 79853 | user-3_9/2014-07/22/16-41-04.244/ | 1 | 1 |
1 | 79852 | user-3_9/2014-07/22/10-44-11.235/ | 1 | 1 |
2 | 79851 | user-3_9/2014-07/22/10-44-07.300/ | 1 | 1 |
3 | 79813 | user-3_9/2014-07/21/14-13-02.353/ | 1 | 1 |
4 | 79812 | user-3_9/2014-07/21/14-13-00.182/ | 1 | 1 |
5 | 79811 | user-3_9/2014-07/21/14-12-59.212/ | 1 | 1 |
6 | 79810 | user-3_9/2014-07/21/14-12-57.896/ | 1 | 1 |
7 | 79809 | user-3_9/2014-07/21/14-10-22.436/ | 3 | 600 |
...
24 | 79772 | user-4_5/2014-07/18/17-14-43.631/ | 1 | 1 |
(25 rows, starting at 0 of approx. 50173)
The options available to this subcommand are:
Display the help for this subcommand.
This option specifies the maximum number of return values, the default is 25.
This option specifies the number of entries to skip before starting the listing, the default, 0, is to skip no entries.
This option determines the order of the rows returned, newest is the default.
This option lists only those filesets without images, these may be corrupt filesets.
This option lists only those filesets imported using the given in-place import methods.
This option checks each fileset for validity by recalculating each file’s checksum and comparing it with the checksum recorded upon import. This may be slow. This option is available to administrators only.
With this option more details are provided for each returned value. This may be slow.
For example
bin/omero fs sets --order oldest --limit 3 --offset 5 --check
# | Id | Prefix | Images | Files | Transfer | Check
---+----+-----------------------------------+--------+-------+----------+-------
0 | 54 | user-3_9/2014-06/09/09-24-28.037/ | 1 | 1 | | OK
1 | 55 | user-3_9/2014-06/09/09-24-31.354/ | 1 | 1 | | OK
2 | 57 | user-5_4/2014-06/09/11-01-00.557/ | 1 | 1 | | OK
(3 rows, starting at 5 of approx. 78415)
The omero fs images subcommand lists imported images by various criteria. This subcommand is useful for showing pre-FS (i.e. OMERO 4.4 and before) images which have their original data archived with them. For example
bin/omero fs images
# | Image | Name | FS | # Files | Size
----+--------+-----------------------------------+-------+---------+----------
0 | 102803 | kidney_TFl_1.bmp.ome.tiff | 79853 | 1 | 435.1 KB
1 | 102802 | 4kx4k.jpg | 79852 | 1 | 1.7 MB
2 | 102801 | 2kx2k.jpg | 79851 | 1 | 486.3 KB
3 | 102773 | multi-channel.ome.tif | 79813 | 1 | 220.3 KB
4 | 102772 | multi-channel-z-series.ome.tif | 79812 | 1 | 1.1 MB
5 | 102771 | multi-channel-time-series.ome.tif | 79811 | 1 | 1.5 MB
6 | 102770 | multi-channel-4D-series.ome.tif | 79810 | 1 | 7.4 MB
7 | 102769 | 001_001_000_000.tif [Well B6] | 79809 | 600 | 1.1 GB
...
24 | 102732 | 00027841.png | 79774 | 1 | 235 B
(25 rows, starting at 0 of approx. 117393)
The options available to this subcommand are:
Display the help for this subcommand.
With this option the subcommand lists only images with archived data.
With this option more details are provided for each returned value. This may be slow.
For example
bin/omero fs images --archived --offset 16 --limit 3
# | Image | Name | FS | # Files | Size
---+-------+---------------------------+----+---------+---------
0 | 15481 | UMD001_ORO.svs [Series 1] | | 1 | 12.7 MB
1 | 15478 | biosamplefullframetif.tif | | 1 | 32.0 MB
2 | 10018 | 050118.lei [07-13-a] | | 4 | 4.8 MB
(3 rows, starting at 16 of approx. 833)
The omero fs rename subcommand moves an existing fileset, specified by its ID, to a new location. This subcommand is available to administrators only.
It may be useful to rename an existing fileset after the import template (omero.fs.repo.path) has been changed to match the new template. By default the files in the fileset and the accompanying import log are moved. For example, after adding the group name and group ID to template and chnaging the date format
$ bin/omero fs rename 9
Renaming Fileset:9 to pg-0_3/user-0_2/2014-07-23/16-48-20.786/
Moving user-0_2/2014-07/23/16-31-51.070/ to pg-0_3/user-0_2/2014-07-23/16-48-20.786/
Moving user-0_2/2014-07/23/16-31-51.070.log to pg-0_3/user-0_2/2014-07-23/16-48-20.786.log
The ID can be given as a number or in the form Fileset:ID.
The options available to this subcommand are:
Display the help for this subcommand.
With this option the files will be left in place to be moved later. Advice will be given as to which files need to be moved to complete the renaming process. Note that if the files are not moved then the renamed filesets will not be accessible until the files have been moved into the new positions.
For example
$ bin/omero fs rename Fileset:8 --no-move
Renaming Fileset:8 to pg-0_3/user-0_2/2014-07-23/16-49-23.543/
Done. You will now need to move these files manually:
-----------------------------------------------------
mv /OMERO/ManagedRepository/user-0_2/2014-07/23/16-29-14.809/ /OMERO/ManagedRepository/pg-0_3/user-0_2/2014-07-23/16-49-23.543/
mv /OMERO/ManagedRepository/user-0_2/2014-07/23/16-29-14.809.log /OMERO/ManagedRepository/pg-0_3/user-0_2/2014-07-23/16-49-23.543.log