diff --git a/omero/conf_autogen.py b/omero/conf_autogen.py index fb94d7cee67..fea3b2f7aef 100644 --- a/omero/conf_autogen.py +++ b/omero/conf_autogen.py @@ -1,5 +1,5 @@ -current_dbver = "OMERO5.4__0" -previous_dbver = "OMERO5.3__1" +current_dbver = "OMERO5.4DEV__3" +previous_dbver = "OMERO5.4DEV__2" version_bioformats = "6.5.1" version_blitz = "5.5.8" version_server = "5.6.1" @@ -8,6 +8,7 @@ version_common = "5.5.7" version_model = "5.6.2" version_gateway = "5.6.5" +version_insight = "5.5.14" version_matlab = "5.5.3" version_dsl_plugin = "5.5.0" version_blitz_plugin = "5.5.0" diff --git a/omero/downloads/cli/help.out b/omero/downloads/cli/help.out index 5013c9cc892..854bb6c5083 100644 --- a/omero/downloads/cli/help.out +++ b/omero/downloads/cli/help.out @@ -1,141 +1,49 @@ -Run the Java-based command-line importer - -This is a Python wrapper around the Java importer. Login is handled by Python -OMERO.cli. To see more options, use "--javahelp". - -Options marked with "**" are passed strictly to Java. If they interfere with -any of the Python arguments, you may need to end precede your arguments with a -"--". - -Bulk imports: - -Rather than passing one or more files to the import command, a single -dictionary-like file (e.g. yml or json) can be passed to the `--bulk` -argument. Most keys in the bulk file will be treated like additional -command-line arguments. Special keys include: - - * columns A list of columns for parsing the value of path - * continue Like the "-c" changes error handling - * dry_run If true, print out additional arguments rather than run them. - If another string other than false, use as a template for - storing the import commands. (e.g. /tmp/%s.sh) - * include Relative path (from the bulk file) of a parent bulk file - * path A file which will be parsed line by line based on its file - ending. Lines containing zero or more keys along with a - single file to be imported. Options for formats include: - - .tsv and .csv files will be parsed by the existing library - - other files will be parsed with shlex - - unless no columns are specified, in which case each line - is treated as a file - -Optional Arguments: - In addition to any higher level options - - -h, --help show this help message and exit - --javahelp, --java-help Show the Java help text - -Login arguments: - Environment variables: - - OMERO_USERDIR Set the base directory containing the user's files. - Default: $HOME/omero - OMERO_SESSIONDIR Set the base directory containing local sessions. - Default: $OMERO_USERDIR/sessions - OMERO_TMPDIR Set the base directory containing temporary files. - Default: $OMERO_USERDIR/tmp - OMERO_PASSWORD Set the user's password for creating new sessions. - Ignored if -w or --password is used. - - - Optional session arguments: - - -C, --create Create a new session regardless of existing ones - -s SERVER, --server SERVER OMERO server hostname - -p PORT, --port PORT OMERO server port - -g GROUP, --group GROUP OMERO server default group - -u USER, --user USER OMERO username - -w PASSWORD, --password PASSWORD OMERO password - -k KEY, --key KEY OMERO session key (UUID of an active session) - --sudo ADMINUSER Create session as this admin. Changes meaning of password! - -q, --quiet Quiet mode. Causes most warning and diagnostic messages to be suppressed. - -Python arguments: - Optional arguments which are used to configure import. - - --bulk [BULK] Bulk YAML file for driving multiple imports - --logprefix [LOGPREFIX] Directory or file prefix for --file and --errs - --file [FILE] File for storing the standard output from the Java process - --errs [ERRS] File for storing the standard error from the Java process - --clientdir CLIENTDIR Path to the directory containing the client JARs. Default: lib/client - --logback LOGBACK Path to a logback xml file. Default: etc/logback-cli.xml - --fetch-jars FETCH_JARS Download this version of OMERO.java jars and exit - --depth DEPTH Number of directories to scan down for files - --skip {all,checksum,minmax,thumbnails,upgrade} - Optional step to skip during import - path Path to be passed to the Java process +Import any number of files into an OMERO instance. +If "-" is the only path, a list of files or directories +is read from standard in. Directories will be searched for +all valid imports. + +Session arguments: + Mandatory arguments for creating a session are 1- either the OMERO server hostname, +username and password or 2- the OMERO server hostname and a valid session key. + -s SERVER OMERO server hostname + -u USER OMERO username + -w PASSWORD OMERO password + -k KEY OMERO session key (UUID of an active session) + -p PORT OMERO server port (default: 4064) Naming arguments: - Optional arguments passed strictly to Java. - - -n NAME, --name NAME Image or plate name to use (**) - -x DESCRIPTION, --description DESCRIPTION - Image or plate description to use (**) - -Feedback arguments: - Optional arguments passed strictly to Java allowing to report errors to the OME team. - - --report Report errors to the OME team (**) - --upload Upload broken files and log file (if any) with report. Required --report (**) - --logs Upload log file (if any) with report. Required --report (**) - --email EMAIL Email for reported errors. Required --report (**) - -Annotation arguments: - Optional arguments passed strictly to Java allowing to annotate imports. - - --annotation-ns ANNOTATION_NS Namespace to use for subsequent annotation (**) - --annotation-text ANNOTATION_TEXT Content for a text annotation (**) - --annotation-link ANNOTATION_LINK Comment annotation ID to link all images to (**) - -Java arguments: - Optional arguments passed strictly to Java. - - -f Display the used files and exit (**) - -c Continue importing after errors (**) - -l READER_FILE, --readers READER_FILE - Use the list of readers rather than the default (**) - -d DATASET_ID OMERO dataset ID to import image into (**) - -r SCREEN_ID OMERO screen ID to import plate into (**) - -T TARGET, --target TARGET OMERO target specification (**) - --debug LEVEL Turn debug logging on (**) - --output TYPE Set an alternative output style - --encrypted TYPE Whether the import should use SSL or not - -Advanced Java arguments: - Optional arguments passed strictly to Java. For more information, see --advanced-help. - - --advanced-help Show the advanced help text - --transfer [TYPE] Transfer methods like in-place import - --exclude [TYPE] Exclusion filters for preventing re-import - --checksum-algorithm [TYPE] Alternative hashing mechanisms balancing speed & accuracy - --parallel-upload COUNT Number of file upload threads to run at the same time - --parallel-fileset COUNT Number of fileset candidates to import at the same time +All naming arguments are optional + -n NAME Image or plate name to use + -x DESCRIPTION Image or plate description to use + --name NAME Image or plate name to use + --description DESCRIPTION Image or plate description to use + +Optional arguments: + -h Display this help and exit + -f Display the used files and exit + -c Continue importing after errors + -l READER_FILE Use the list of readers rather than the default + -d DATASET_ID OMERO dataset ID to import image into + -r SCREEN_ID OMERO screen ID to import plate into + -T TARGET target for imports + --report Report errors to the OME team + --upload Upload broken files and log file (if any) with report. Required --report + --logs Upload log file (if any) with report. Required --report + --email EMAIL Email for reported errors. Required --report + --debug LEVEL Turn debug logging on (optional level) + --annotation-ns ANNOTATION_NS Namespace to use for subsequent annotation + --annotation-text ANNOTATION_TEXT Content for a text annotation + --annotation-link ANNOTATION_LINK Comment annotation ID to link all images to Examples: - # Display help - $ omero import -h - # Import foo.tiff using current login - $ omero import ~/Data/my_file.dv - # Import foo.tiff using input credentials - $ omero import -s localhost -u user -w password foo.tiff - # Set Java debugging level to ALL - $ omero import foo.tiff -- --debug=ALL - # Display used files for importing foo.tiff - $ omero import foo.tiff -f - # Limit debugging output - $ omero import -- --debug=ERROR foo.tiff + $ importer-cli -s localhost -u user -w password -d 50 foo.tiff + $ importer-cli -s localhost -u user -w password -d Dataset:50 foo.tiff + $ importer-cli -f foo.tiff + $ importer-cli -s localhost -u username -w password -d 50 --debug ALL foo.tiff For additional information, see: https://docs.openmicroscopy.org/latest/omero/users/cli/import.html -Report bugs at https://forum.image.sc/ +Report bugs at https://www.openmicroscopy.org/forums diff --git a/omero/downloads/inplace/advanced-help.txt b/omero/downloads/inplace/advanced-help.txt index dff655c0d01..977b0d41040 100644 --- a/omero/downloads/inplace/advanced-help.txt +++ b/omero/downloads/inplace/advanced-help.txt @@ -1,3 +1,5 @@ +ADVANCED OPTIONS: + These options are not intended for general use. Make sure you have read the documentation regarding them. They may change in future releases. diff --git a/omero/downloads/ldap/setdn.out b/omero/downloads/ldap/setdn.out index a487be5b3b0..98428a0fff6 100644 --- a/omero/downloads/ldap/setdn.out +++ b/omero/downloads/ldap/setdn.out @@ -1,8 +1,11 @@ -usage: omero ldap setdn - [-h] [--user-id USER_ID] [--user-name USER_NAME] [--group-id GROUP_ID] - [--group-name GROUP_NAME] [-C] [-s SERVER] [-p PORT] [-g GROUP] - [-u USER] [-w PASSWORD] [-k KEY] [--sudo ADMINUSER] [-q] - choice +usage: /home/runner/work/ome ldap setdn [-h] [--user-id USER_ID] + [--user-name USER_NAME] + [--group-id GROUP_ID] + [--group-name GROUP_NAME] [-C] + [-s SERVER] [-p PORT] [-g GROUP] + [-u USER] [-w PASSWORD] [-k KEY] + [--sudo ADMINUSER] [-q] + choice Enable or disable LDAP login for user (admins only) diff --git a/omero/sysadmins/config.rst b/omero/sysadmins/config.rst index 8316e3074a3..9aac37aab0e 100644 --- a/omero/sysadmins/config.rst +++ b/omero/sysadmins/config.rst @@ -1639,6 +1639,22 @@ The Glacier2 TCP port number to use (unencrypted) Default: `4063` +.. property:: omero.ports.ws + +omero.ports.ws +^^^^^^^^^^^^^^ +The Glacier2 WS port number to use (unecrypted) + +Default: `4065` + +.. property:: omero.ports.wss + +omero.ports.wss +^^^^^^^^^^^^^^^ +The Glacier2 WSS port number to use + +Default: `4066` + .. _query_configuration: @@ -2057,6 +2073,28 @@ Sets the password of the truststore Default: `[empty]` +.. _server_configuration: + +Server +------ + +.. property:: omero.server.nodedescriptors + +omero.server.nodedescriptors +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Override the default set of OMERO services. +For example, to run OMERO.server with Blitz and Tables only +(i.e. disable Processor, DropBox, Indexer, PixelData) +set this to ``master:Blitz-0,Tables-0``. +Also use this to distribute OMERO services across multiple nodes, +for example: +``master:Blitz-0,Tables-0 worker1:Processor-0``. +See +https://docs.openmicroscopy.org/omero/latest/sysadmins/grid.html#deployment-examples + +Default: `[empty]` + + .. _version_configuration: Version @@ -2068,7 +2106,7 @@ omero.version ^^^^^^^^^^^^^ Value dynamically set during the build -Default: `5.6.3` +Default: `5.6.1-SNAPSHOT` .. _web_configuration: @@ -2204,6 +2242,14 @@ Additional Django settings as list of key-value tuples. Use this to set or overr Default: `[]` +.. property:: omero.web.favicon_url + +omero.web.favicon_url +^^^^^^^^^^^^^^^^^^^^^ +Favicon URL, specifies the path relative to django's static file dirs. + +Default: `webgateway/img/ome.ico` + .. property:: omero.web.feedback.comment.enabled omero.web.feedback.comment.enabled @@ -2220,6 +2266,14 @@ Enable the feedback form for errors. These errors are sent to the URL in ``omero Default: `true` +.. property:: omero.web.html_meta_referrer + +omero.web.html_meta_referrer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Default content for the HTML Meta referrer tag. See https://www.w3.org/TR/referrer-policy/#referrer-policies for allowed values and https://caniuse.com/#feat=referrer-policy for browser compatibility. Warning: Internet Explorer 11 does not support the default value of this setting, you may want to change this to "origin" after reviewing the linked documentation. + +Default: `origin-when-crossorigin` + .. property:: omero.web.index_template omero.web.index_template @@ -2234,7 +2288,7 @@ omero.web.logdir ^^^^^^^^^^^^^^^^ A path to the custom log directory. -Default: `/home/omero/OMERO.server/var/log` +Default: `/home/omero/OMERO.server/dist/var/log` .. property:: omero.web.login.client_downloads_base @@ -2284,6 +2338,14 @@ The Django view name used for login. Use this to provide an alternative login wo Default: `weblogin` +.. property:: omero.web.max_table_download_rows + +omero.web.max_table_download_rows +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Prevent download of OMERO.tables exceeding this number of rows in a single request. + +Default: `10000` + .. property:: omero.web.maximum_multifile_download_size omero.web.maximum_multifile_download_size @@ -2356,6 +2418,14 @@ The file storage engine to use when collecting static files with the collectstat Default: `pipeline.storage.PipelineStorage` +.. property:: omero.web.plate_layout + +omero.web.plate_layout +^^^^^^^^^^^^^^^^^^^^^^ +If 'shrink', the plate will not display rows and columns before the first Well, or after the last Well. If 'trim', the plate will only show Wells from A1 to the last Well. If 'expand' (default), the plate will expand from A1 to a multiple of 12 columns x 8 rows after the last Well. + +Default: `expand` + .. property:: omero.web.prefix omero.web.prefix @@ -2436,6 +2506,14 @@ Username to use during authentication. Default: `None` +.. property:: omero.web.redirect_allowed_hosts + +omero.web.redirect_allowed_hosts +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +If you wish to allow redirects to an external site, the domains must be listed here. For example ["openmicroscopy.org"]. + +Default: `[]` + .. property:: omero.web.root_application omero.web.root_application @@ -2444,6 +2522,22 @@ Override the root application label that handles ``/``. **Warning** you must ens Default: `[empty]` +.. property:: omero.web.search.default_group + +omero.web.search.default_group +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ID of group to pre-select in search form. + +Default: `0` + +.. property:: omero.web.search.default_user + +omero.web.search.default_user +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ID of user to pre-select in search form. + +Default: `0` + .. property:: omero.web.secret_key omero.web.secret_key @@ -2500,6 +2594,14 @@ The name to use for session cookies Default: `None` +.. property:: omero.web.session_cookie_path + +omero.web.session_cookie_path +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The path to use for session cookies + +Default: `None` + .. property:: omero.web.session_cookie_secure omero.web.session_cookie_secure @@ -2540,13 +2642,21 @@ Dictionary of `server-name: @twitter-site-username`, where server-name matches a Default: `{}` +.. property:: omero.web.show_forgot_password + +omero.web.show_forgot_password +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Allows to hide 'Forgot password' from the login view - useful for LDAP/ActiveDir installations + +Default: `true` + .. property:: omero.web.static_root omero.web.static_root ^^^^^^^^^^^^^^^^^^^^^ The absolute path to the directory where collectstatic will collect static files for deployment. If the staticfiles contrib app is enabled (default) the collectstatic management command will collect static files into this directory. -Default: `/home/omero/OMERO.server/var/static` +Default: `/home/omero/OMERO.server/dist/var/static` .. property:: omero.web.static_url @@ -2580,6 +2690,14 @@ Number of thumbnails retrieved to prevent from loading them all at once. Make su Default: `50` +.. property:: omero.web.time_zone + +omero.web.time_zone +^^^^^^^^^^^^^^^^^^^ +Time zone for this installation. Choices can be found in the ``TZ database name`` column of: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones Default ``"Europe/London"`` + +Default: `Europe/London` + .. property:: omero.web.top_logo omero.web.top_logo diff --git a/omero/sysadmins/unix/install-web/nginx-location-manual-wrapper.conf b/omero/sysadmins/unix/install-web/nginx-location-manual-wrapper.conf index 2b8ec85bbff..e69de29bb2d 100644 --- a/omero/sysadmins/unix/install-web/nginx-location-manual-wrapper.conf +++ b/omero/sysadmins/unix/install-web/nginx-location-manual-wrapper.conf @@ -1,12 +0,0 @@ -server { - listen 80; - server_name $hostname; - - # SSL configuration ... - - sendfile on; - client_max_body_size 0; - - # Include generated file from omero web config nginx-location: - include /home/omero/omero-web-location.include; -} diff --git a/omero/sysadmins/unix/install-web/nginx-location.conf b/omero/sysadmins/unix/install-web/nginx-location.conf index f0edb942a74..4403b9d0cad 100644 --- a/omero/sysadmins/unix/install-web/nginx-location.conf +++ b/omero/sysadmins/unix/install-web/nginx-location.conf @@ -1,11 +1,11 @@ location @maintenance { - root /opt/omero/web/omero-web/etc/templates/error; + root /opt/omero/web/omero-web/dist/etc/templates/error; try_files $uri /maintainance.html =502; } location /static { - alias /opt/omero/web/omero-web/var/static; + alias /opt/omero/web/omero-web/dist/var/static; } location @proxy_to_app { diff --git a/omero/sysadmins/unix/install-web/nginx-omero.conf b/omero/sysadmins/unix/install-web/nginx-omero.conf index 51d7ca38e81..7be7eb045b1 100644 --- a/omero/sysadmins/unix/install-web/nginx-omero.conf +++ b/omero/sysadmins/unix/install-web/nginx-omero.conf @@ -13,13 +13,13 @@ server { # maintenance page serve from here location @maintenance { - root /opt/omero/web/omero-web/etc/templates/error; + root /opt/omero/web/omero-web/dist/etc/templates/error; try_files $uri /maintainance.html =502; } # weblitz django apps serve media from here location /static { - alias /opt/omero/web/omero-web/var/static; + alias /opt/omero/web/omero-web/dist/var/static; } location @proxy_to_app { diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst index 7fd00900bfe..715e5a9853c 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos7-ice3.6.rst @@ -222,7 +222,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos8-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos8-ice3.6.rst index 4ba9c25b2da..c49afec790a 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos8-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-centos8-ice3.6.rst @@ -223,7 +223,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian10-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian10-ice3.6.rst index c90f2fc8de0..b8e7323a709 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian10-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian10-ice3.6.rst @@ -217,7 +217,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian9-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian9-ice3.6.rst index a9e59e53fa5..5ac03e9fca1 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian9-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-debian9-ice3.6.rst @@ -220,7 +220,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu1804-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu1804-ice3.6.rst index 81d1d1ee8e4..1c6baf2a66f 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu1804-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu1804-ice3.6.rst @@ -216,7 +216,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu2004-ice3.6.rst b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu2004-ice3.6.rst index b52e8cf8d6f..f3f0a9f8cab 100644 --- a/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu2004-ice3.6.rst +++ b/omero/sysadmins/unix/install-web/walkthrough/omeroweb-install-ubuntu2004-ice3.6.rst @@ -216,7 +216,7 @@ Install `WhiteNoise `_:: /opt/omero/web/venv3/bin/pip install --upgrade whitenoise -*Optional*: Install `Django Redis `_:: +*Optional*: Install `Django Redis `_:: /opt/omero/web/venv3/bin/pip install 'django-redis<4.9' diff --git a/omero/sysadmins/unix/walkthrough/osx/install_homebrew.sh b/omero/sysadmins/unix/walkthrough/osx/install_homebrew.sh new file mode 100755 index 00000000000..2be40770c9a --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/install_homebrew.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e -u -x + +WEBSESSION=${WEBSESSION:-false} + +bash -eux step01_deps.sh +bash -eux step02_omero.sh + +if $WEBSESSION ; then + bash -eux step01_deps_websession.sh +fi + +bash -eux step03_nginx.sh +bash -eux step04_test.sh diff --git a/omero/sysadmins/unix/walkthrough/osx/step01_deps.sh b/omero/sysadmins/unix/walkthrough/osx/step01_deps.sh new file mode 100755 index 00000000000..df13bce18d6 --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/step01_deps.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash +# Installs OMERO requirements + +set -e +set -u +set -x + +export PATH=/usr/local/bin:/usr/local/opt/python/libexec/bin:$PATH +export LANG=${LANG:-en_US.UTF-8} +export LANGUAGE=${LANGUAGE:-en_US:en} + +# Test whether this script is run in a job environment +JOB_NAME=${JOB_NAME:-} +if [[ -n $JOB_NAME ]]; then + DEFAULT_TESTING_MODE=true +else + DEFAULT_TESTING_MODE=false +fi +TESTING_MODE=${TESTING_MODE:-$DEFAULT_TESTING_MODE} + +################################################################### +# Homebrew installation +################################################################### + +# Install Homebrew in /usr/local +ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + +# Update Homebrew +brew update + +# Run brew doctor +brew doctor + +# Install git if not already installed +brew list | grep "\bgit\b" || brew install git + +# Install PostgreSQL +brew install postgresql + +################################################################### +# Python pip installation +################################################################### + +# Install Homebrew python +# Alternately, the system Python can be used but installing Python +# dependencies may require sudo +brew install python + +# Tap ome-alt library +if [ "$TESTING_MODE" = true ]; then + brew tap --full ome/alt || echo "Already tapped" + + # Install scc tools + pip install -U scc || echo "scc installed" + + # Merge homebrew-alt PRs + cd $(brew --repository)/Library/Taps/ome/homebrew-alt + scc merge master + + # Repair formula symlinks after merge + brew tap --repair +else + brew tap ome/alt || echo "Already tapped" +fi + +# Tap homebrew-science library (HDF5) +brew tap homebrew/science || echo "Already tapped" diff --git a/omero/sysadmins/unix/walkthrough/osx/step01_deps_websession.sh b/omero/sysadmins/unix/walkthrough/osx/step01_deps_websession.sh new file mode 100644 index 00000000000..133d4d143b4 --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/step01_deps_websession.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# Installs OMERO requirements + +set -e +set -u +set -x + +export PATH=/usr/local/bin:/usr/local/opt/python/libexec/bin:$PATH +export LANG=${LANG:-en_US.UTF-8} +export LANGUAGE=${LANGUAGE:-en_US:en} + +# Test whether this script is run in a job environment +JOB_NAME=${JOB_NAME:-} +if [[ -n $JOB_NAME ]]; then + DEFAULT_TESTING_MODE=true +else + DEFAULT_TESTING_MODE=false +fi +TESTING_MODE=${TESTING_MODE:-$DEFAULT_TESTING_MODE} + +################################################################### +# Redis installation +################################################################### + +# Install redis +brew install redis +brew services start redis + +# Install django-cache-redis +pip install "django-redis>=4.4,<4.9" + +# Set up redis session backend +omero config set omero.web.session_engine 'django.contrib.sessions.backends.cache' +omero config set omero.web.caches '{"default": {"BACKEND": "django_redis.cache.RedisCache","LOCATION": "redis://127.0.0.1:6379/0"}}' diff --git a/omero/sysadmins/unix/walkthrough/osx/step02_omero.sh b/omero/sysadmins/unix/walkthrough/osx/step02_omero.sh new file mode 100755 index 00000000000..1a753fdba35 --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/step02_omero.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +# Main OMERO installation script + +set -e +set -u +set -x + +export PATH=/usr/local/bin:/usr/local/opt/python/libexec/bin:$PATH +export OMERO_DATA_DIR=${OMERO_DATA_DIR:-~/OMERO.data} +export ROOT_PASSWORD=${ROOT_PASSWORD:-omero_root_password} +export ICE=${ICE:-3.6} +export HTTPPORT=${HTTPPORT:-8080} +export LANG=${LANG:-en_US.UTF-8} +export LANGUAGE=${LANGUAGE:-en_US:en} + +################################################################### +# OMERO installation +################################################################### + +# Install OMERO +OMERO_PYTHONPATH=$(brew --prefix omero53)/lib/python +brew install omero53 --with-nginx --with-cpp + + +export PYTHONPATH=$OMERO_PYTHONPATH +VERBOSE=1 brew test omero53 + +# Install OMERO Python dependencies +pip install -r $(brew --prefix omero53)/share/web/requirements-py27-all.txt +cd /usr/local +bash bin/omero_python_deps + +# Set additional environment variables +export ICE_CONFIG=$(brew --prefix omero53)/etc/ice.config + +# Reinitialize PSQL cluster to fix missing directories on OSX 10.11 +rm -rf /usr/local/var/postgres +initdb -E UTF8 /usr/local/var/postgres + +# Start PostgreSQL +pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log -w start + +# Create user and database +createuser -w -D -R -S db_user +createdb -E UTF8 -O db_user omero_database +psql -h localhost -U db_user -l + +# Set database +omero config set omero.db.name omero_database +omero config set omero.db.user db_user +omero config set omero.db.pass db_password + +# Run DB script +omero db script --password $ROOT_PASSWORD -f - | psql -h localhost -U db_user omero_database + +# Stop PostgreSQL +pg_ctl -D /usr/local/var/postgres -m fast stop + +# Set up the data directory +if [ -d "$OMERO_DATA_DIR" ]; then + rm -rf $OMERO_DATA_DIR +fi +mkdir -p $OMERO_DATA_DIR +omero config set omero.data.dir $OMERO_DATA_DIR + diff --git a/omero/sysadmins/unix/walkthrough/osx/step03_nginx.sh b/omero/sysadmins/unix/walkthrough/osx/step03_nginx.sh new file mode 100755 index 00000000000..0a3722134a5 --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/step03_nginx.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Setup OMERO.web using nginx + +set -e +set -u +set -x + +export PATH=/usr/local/bin:/usr/local/opt/python/libexec/bin:$PATH +export HTTPPORT=${HTTPPORT:-8080} +export ICE_CONFIG=$(brew --prefix omero53)/etc/ice.config +export PYTHONPATH=$(brew --prefix omero53)/lib/python + +# Setup nginx +omero web config nginx-development --http $HTTPPORT > $(brew --prefix omero53)/etc/nginx.conf diff --git a/omero/sysadmins/unix/walkthrough/osx/step04_test.sh b/omero/sysadmins/unix/walkthrough/osx/step04_test.sh new file mode 100755 index 00000000000..ddf72473f93 --- /dev/null +++ b/omero/sysadmins/unix/walkthrough/osx/step04_test.sh @@ -0,0 +1,59 @@ + +#!/usr/bin/env bash +# Start up server, perform some simple test, shutdown again. + +set -e +set -u +set -x + +export PATH=/usr/local/bin:/usr/local/opt/python/libexec/bin:$PATH +export HTTPPORT=${HTTPPORT:-8080} +export ROOT_PASSWORD=${ROOT_PASSWORD:-omero_root_password} + +# Start PostgreSQL +pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log -w start + +# Start the server +omero admin start + + +if [ -f $(brew --prefix omero53)/var/log/Blitz-0.log ]; then + d=10; + while ! grep "OMERO.blitz now accepting connections" $(brew --prefix omero53)/var/log/Blitz-0.log ; + do + sleep 10; + d=$[$d -1]; + if [ $d -lt 0 ]; then + exit 1; + fi; + done +else + echo "File not found!" + exit 1 +fi + +# Start OMERO.web +omero web start +nginx -c $(brew --prefix omero53)/etc/nginx.conf + +# Check OMERO version +omero version | grep -v UNKNOWN + +# Test simple fake import +omero login -s localhost -u root -w $ROOT_PASSWORD +touch test.fake +omero import test.fake +omero logout + +# Test simple Web connection +WEB_HOST="localhost:${HTTPPORT}" OMERO_ROOT_PASS=$ROOT_PASSWORD bash ../linux/test/test_login_to_web.sh + +# Stop OMERO.web +nginx -c $(brew --prefix omero53)/etc/nginx.conf -s stop +omero web stop + +# Stop the server +omero admin stop + +# Stop PostgreSQL +pg_ctl -D /usr/local/var/postgres -m fast stop diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_centos7.sh b/omero/sysadmins/unix/walkthrough/walkthrough_centos7.sh index c2856531988..85ae8e503c4 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_centos7.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_centos7.sh @@ -12,7 +12,6 @@ yum -y install java-11-openjdk # install dependencies yum -y install python3 -yum -y install openssl #end-step01 # install Ice #start-recommended-ice @@ -93,9 +92,6 @@ omero config set omero.db.pass "$OMERO_DB_PASS" omero db script -f $OMERODIR/db.sql --password "$OMERO_ROOT_PASS" psql -h localhost -U "$OMERO_DB_USER" "$OMERO_DB_NAME" < $OMERODIR/db.sql #end-step04 -#start-seclevel -omero certificates -#end-seclevel #start-step06: As root, run the scripts to start OMERO automatically diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_centos8.sh b/omero/sysadmins/unix/walkthrough/walkthrough_centos8.sh index a1e39891361..17409259ea7 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_centos8.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_centos8.sh @@ -78,7 +78,7 @@ $VENV_SERVER/bin/pip install omero-server[default] $VENV_SERVER/bin/pip install "omero-py>=5.8.0" #start-release-ice36 cd /opt/omero/server -SERVER=https://downloads.openmicroscopy.org/omero/5.6/server-ice36.zip +SERVER=https://github.com/ome/openmicroscopy/releases/download/v5.6.3/OMERO.server-5.6.3-ice36-b228.zip wget -q $SERVER -O OMERO.server-ice36.zip unzip -q OMERO.server* #end-release-ice36 diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_debian10.sh b/omero/sysadmins/unix/walkthrough/walkthrough_debian10.sh index e706dad974f..e4c4655e328 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_debian10.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_debian10.sh @@ -80,7 +80,7 @@ $VENV_SERVER/bin/pip install omero-server[default] $VENV_SERVER/bin/pip install "omero-py>=5.8.0" #start-release-ice36 cd /opt/omero/server -SERVER=https://downloads.openmicroscopy.org/omero/5.6/server-ice36.zip +SERVER=https://github.com/ome/openmicroscopy/releases/download/v5.6.3/OMERO.server-5.6.3-ice36-b228.zip wget -q $SERVER -O OMERO.server-ice36.zip unzip -q OMERO.server* #end-release-ice36 diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_debian9.sh b/omero/sysadmins/unix/walkthrough/walkthrough_debian9.sh index 7121f0a4e83..ef65b258205 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_debian9.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_debian9.sh @@ -70,7 +70,7 @@ $VENV_SERVER/bin/pip install omero-server[debian9] $VENV_SERVER/bin/pip install "omero-py>=5.8.0" #start-release-ice36 cd /opt/omero/server -SERVER=https://downloads.openmicroscopy.org/omero/5.6/server-ice36.zip +SERVER=https://github.com/ome/openmicroscopy/releases/download/v5.6.3/OMERO.server-5.6.3-ice36-b228.zip wget -q $SERVER -O OMERO.server-ice36.zip unzip -q OMERO.server* #end-release-ice36 diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu1804.sh b/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu1804.sh index d85efa17d44..3639738ac39 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu1804.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu1804.sh @@ -90,7 +90,7 @@ $VENV_SERVER/bin/pip install omero-server[default] $VENV_SERVER/bin/pip install "omero-py>=5.8.0" #start-release-ice36 cd /opt/omero/server -SERVER=https://downloads.openmicroscopy.org/omero/5.6/server-ice36.zip +SERVER=https://github.com/ome/openmicroscopy/releases/download/v5.6.3/OMERO.server-5.6.3-ice36-b228.zip wget -q $SERVER -O OMERO.server-ice36.zip unzip -q OMERO.server* #end-release-ice36 diff --git a/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu2004.sh b/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu2004.sh index b1bed72183a..84e9dbe73e9 100644 --- a/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu2004.sh +++ b/omero/sysadmins/unix/walkthrough/walkthrough_ubuntu2004.sh @@ -89,7 +89,7 @@ $VENV_SERVER/bin/pip install omero-server[default] $VENV_SERVER/bin/pip install "omero-py>=5.8.0" #start-release-ice36 cd /opt/omero/server -SERVER=https://downloads.openmicroscopy.org/omero/5.6/server-ice36.zip +SERVER=https://github.com/ome/openmicroscopy/releases/download/v5.6.3/OMERO.server-5.6.3-ice36-b228.zip wget -q $SERVER -O OMERO.server-ice36.zip unzip -q OMERO.server* #end-release-ice36 diff --git a/omero/users/history.rst b/omero/users/history.rst index 0193edbd30d..5630162f6ed 100644 --- a/omero/users/history.rst +++ b/omero/users/history.rst @@ -1722,7 +1722,7 @@ stored in an installation of OMERO.server. Finally, we are releasing our first examples of clients that use the OMERO.blitz server, a flexible, distributed interface that supports a range of client environments. One very exciting addition is OMERO matlab, a gateway that can be used to access OMERO from -MatlabĀ®. +MATLABĀ®. OMERO Beta3.0 includes a substantial reworking of our clients as well. OMERO.insight has been substantially updated, with an updated interface to