Giter VIP home page Giter VIP logo

omero-server-docker's Introduction

OMERO.server Docker

Actions Status

A RockyLinux 9 based Docker image for OMERO.server. The administrator account is named "root" with a default password of "omero". This can be changed by setting the ROOTPASS environment variable.

Also see SUPPORT.md

Running OMERO with docker-compose

The omero-deployment-examples repository contains a number of different ways of deployment OMERO. Unless you are looking for something specific, we suggest starting with docker-example-omero.

Running the images (manual)

To run the Docker images start a postgres DB:

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres postgres

Then run OMERO.server passing the database configuration parameters if they differ from the defaults. This example uses the default postgres system database for convenience, in practice you may want to create your own database.

docker run -d --name omero-server --link postgres:db \
    -e CONFIG_omero_db_user=postgres \
    -e CONFIG_omero_db_pass=postgres \
    -e CONFIG_omero_db_name=postgres \
    -e ROOTPASS=omero-root-password \
    -p 4063:4063 -p 4064:4064 \
    openmicroscopy/omero-server

Configuration variables

All OMERO configuration properties can be set be defining environment variables CONFIG_omero_property_name=. Since . is not allowed in a variable name . must be replaced by _, and _ by __, for example

-e CONFIG_omero_web_public_enabled=false

Configuration files

Additional configuration files for OMERO can be provided by mounting files into /opt/omero/server/config/. Files ending with .omero will be loaded with omero load.

For example:

docker run -d -v
    /config/extra.omero:/opt/omero/server/config/extra.omero:ro
    openmicroscopy/omero-server

Parameters required for initializing the server such as database configuration must be set using environment variables.

Default volumes

  • /opt/omero/server/OMERO.server/var: The OMERO.server var directory, including logs
  • /OMERO: The OMERO data directory

Exposed ports

  • 4063
  • 4064

Example with named volumes

docker volume create --name omero-db
docker volume create --name omero-data

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres
    -v omero-db:/var/lib/postgresql/data postgres
docker run -d --name omero-server --link postgres:db
    <-e CONFIG_omero_db_ ...>
    -v omero-data:/OMERO
    -p 4063:4063 -p 4064:4064 openmicroscopy/omero-server

Running without links

As an alternative to running with --link the address of the database can be specified using the variable CONFIG_omero_db_host

omero-server-docker's People

Contributors

dpwrussell avatar hflynn avatar jburel avatar joshmoore avatar julianhn avatar khaledk2 avatar manics avatar michelebortol avatar sbesson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omero-server-docker's Issues

GitHub upload action failed with exit status 128

See https://github.com/ome/omero-server-docker/runs/3998380455?check_suite_focus=true

The upload build of tag 5.6.3-4 especially the

- name: Push to Docker Hub
uses: docker/build-push-action@v2
with:
tags: ${{ join(fromJson(steps.gettags.outputs.tags)) }}
push: true
action failed with the following stack trace:

Docker info
/usr/bin/docker buildx build --tag openmicroscopy/omero-server:5.6.3-4 --tag openmicroscopy/omero-server:5.6.3 --tag openmicroscopy/omero-server:5.6 --tag openmicroscopy/omero-server:5 --tag openmicroscopy/omero-server:latest --iidfile /tmp/docker-build-push-bMDukD/iidfile --metadata-file /tmp/docker-build-push-bMDukD/metadata-file --secret id=GIT_AUTH_TOKEN,src=/tmp/docker-build-push-bMDukD/tmp-2664-D6MACjW2TbGc --push https://github.com/ome/omero-server-docker.git#36c2906f7b8c3bbd8275a1b5da302fba4152bc47
#1 [internal] load git source https://github.com/ome/omero-server-docker.git#36c2906f7b8c3bbd8275a1b5da302fba4152bc47
#1 0.120 hint: Using 'master' as the name for the initial branch. This default branch name
#1 0.121 hint: is subject to change. To configure the initial branch name to use in all
#1 0.121 hint: of your new repositories, which will suppress this warning, call:
#1 0.121 hint: 
#1 0.121 hint: 	git config --global init.defaultBranch <name>
#1 0.121 hint: 
#1 0.121 hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
#1 0.121 hint: 'development'. The just-created branch can be renamed via this command:
#1 0.121 hint: 
#1 0.121 hint: 	git branch -m <name>
#1 0.122 Initialized empty Git repository in /var/lib/buildkit/runc-overlayfs/snapshots/snapshots/1/fs/
#1 0.145 fatal: Not a valid object name 36c2906f7b8c3bbd8275a1b5da302fba4152bc47^{commit}
#1 0.863 From https://github.com/ome/omero-server-docker
#1 0.863  * [new branch]      master     -> origin/master
#1 0.878 fatal: reference is not a tree: 36c2906f7b8c3bbd8275a1b5da302fba4152bc47
#1 ERROR: failed to checkout remote https://github.com/ome/omero-server-docker.git: exit status 128
------
 > [internal] load git source https://github.com/ome/omero-server-docker.git#36c2906f7b8c3bbd8275a1b5da302fba4152bc47:
#1 0.121 hint: 
#1 0.121 hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
#1 0.121 hint: 'development'. The just-created branch can be renamed via this command:
#1 0.121 hint: 
#1 0.121 hint: 	git branch -m <name>
#1 0.122 Initialized empty Git repository in /var/lib/buildkit/runc-overlayfs/snapshots/snapshots/1/fs/
#1 0.145 fatal: Not a valid object name 36c2906f7b8c3bbd8275a1b5da302fba4152bc47^{commit}
#1 0.863 From https://github.com/ome/omero-server-docker
#1 0.863  * [new branch]      master     -> origin/master
#1 0.878 fatal: reference is not a tree: 36c2906f7b8c3bbd8275a1b5da302fba4152bc47
------
error: failed to solve: failed to read dockerfile: failed to checkout remote https://github.com/ome/omero-server-docker.git: exit status 128
Error: buildx failed with: error: failed to solve: failed to read dockerfile: failed to checkout remote https://github.com/ome/omero-server-docker.git: exit status 128

LDAP with Users with Multiple Accounts with Identical Common Names

Hi Omero team

Our AD structure has users with multiple logins that use identical CNs for FirstName/LastName. When these people login LDAP returns the exception below (edited for GDPR purposes),

Default choice on create user: John Doe JDoe (ome.conditions.ApiUsageException: Cannot find unique user DistinguishedName: found=2 (John Doe)

Is there a way we can define the Username as the account UID rather than FirstName/LastName or something else?

Our Omero configuration is as below.
omero.ldap.user.filter=(objectClass=person)
omero.ldap.user.mapping=omeName=uid,firstName=givenName,lastName=sn,email=mail

Kind regards,
Simon

openmicroscopy/omero-server:5.6.3 actually contains Omero 5.6.1

The openmicroscopy/omero-server:5.6.3 on Dockerhub is identical to openmicroscopy/omero-server:5.6 and does not contain omero server 5.6.3 as expected but rather omero server 5.6.1.

openmicroscopy/omero-server:5.6.2 on the other hand contains the expected omero server 5.6.2

login failed

Hello,

When I run the two commands in the README, all seems well:

docker run -d --name postgres -e POSTGRES_PASSWORD=postgres postgres
docker run -d --name omero-server --link postgres:db
    -e CONFIG_omero_db_user=postgres \
    -e CONFIG_omero_db_pass=postgres \
    -e CONFIG_omero_db_name=postgres \
    -e ROOTPASS=omero-root-password \
    -p 4063:4063 -p 4064:4064 \
    openmicroscopy/omero-server

Next, I'd like to login to the server to check that the username root and password password have been set correctly.

mgitt@mgpc:~/workspace$ docker exec -it omero-server bash
bash-4.2$ ls
playbook.yml  requirements.yml	roles
bash-4.2$ cd
bash-4.2$ ls
OMERO.server  OMERO.server-5.3.3-ice36-b63  OMERO.server-5.3.3-ice36-b63.zip  config  omero  omero-20171016-124952-923849.sql
bash-4.2$ cd OMERO.server
bash-4.2$ bin/omero login
Server: [localhost:4064]
Username: [omero-server]
Password:
Password check failed for 'omero-server': []
Password:
Password check failed for 'omero-server': []
Password:Cancelled

I tried passwords, password and omero-root-password but was not able to successfully login. What is the correct username and password to login to the server?

Unexpected Java version in openmicrocopy/omero-server Docker image

Discovered as part of an investigation on OMERO 5.6 with JDK 11

The installation playbook currently install JDK 11 by setting the java_versions to 11 only - see https://github.com/ome/omero-server-docker/blob/5.6.2/playbook.yml#L5

However, when consuming the image in the context of https://github.com/ome/docker-example-omero/blob/master/docker-compose.yml for instance, it looks like the default Java 8 version is still used:

[sbesson@idr2-slot3 docker-example-omero]$ docker exec -it docker-example-omero_omeroserver_1 bash
bash-4.2$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)
bash-4.2$ /opt/omero/server/OMERO.server/bin/omero admin diagnostics

================================================================================
OMERO Diagnostics (admin) 5.6.2
================================================================================
        
Commands:   java -version                  1.8.0     (/usr/bin/java)
Commands:   python -V                      3.6.8     (/opt/omero/server/venv3/bin/python -- 2 others)
...

Trying to override JAVA_HOME before starting the Docker container did not solve the issue

diff --git a/docker-compose.yml b/docker-compose.yml
index 60fd75c..fcf79da 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -21,11 +21,12 @@ services:
       CONFIG_omero_db_pass: omero
       CONFIG_omero_db_name: omero
       ROOTPASS: omero
+      JAVA_HOME: /usr/lib/jvm/java-11-openjdk-11.0.6.10-1.el7_7.x86_64/bin/java

It looks like Java 8 is getting pulled from another dependency as it is not part of the base centos:7 image. Ideally it should be tracked down and removed/made configurable to the version set by the ome.java role.

At the API level, I can see two possible behaviors for the base omero-server image:

  • either supporting multiple concurrent of Java. In that case, a secondary issues is to be abel to dynamically select which one should be used at runtime
  • or support one Java version, and generally one deployment environment, for the base omero-server image and impose a rebuild with different parameters in playbook.yml when another version is desired.

GPG signature

On M1:
With Dockerfile as below [1], where the OMERO_VERSION was tried as

  1. latest
  2. 5.6.10-2

The same result for both ad 1. and 2. above is happening [2] (error with GPG signature) after trying to build it from the PR #71.

[1]

FROM rockylinux:9
LABEL maintainer="[email protected]"

RUN dnf -y install epel-release
RUN dnf -y update
RUN dnf install -y glibc-langpack-en

ENV LANG en_US.utf-8
ENV RHEL_FRONTEND=noninteractive
RUN mkdir /opt/setup
WORKDIR /opt/setup
ADD playbook.yml requirements.yml /opt/setup/

RUN dnf install -y ansible-core sudo ca-certificates
RUN ansible-galaxy install -p /opt/setup/roles -r requirements.yml
RUN dnf -y clean all
RUN rm -fr /var/cache

ARG OMERO_VERSION=5.6.10-2
ARG OMEGO_ADDITIONAL_ARGS=
ENV OMERODIR=/opt/omero/server/OMERO.server

RUN ansible-playbook playbook.yml -vvv -e 'ansible_python_interpreter=/usr/bin/python3'\
    -e omero_server_release=$OMERO_VERSION \
    -e omero_server_omego_additional_args="$OMEGO_ADDITIONAL_ARGS"

RUN dnf -y clean all
RUN rm -fr /var/cache

RUN curl -L -o /usr/local/bin/dumb-init \
    https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64 && \
    chmod +x /usr/local/bin/dumb-init

ADD entrypoint.sh /usr/local/bin/
ADD 50-config.py 60-database.sh 99-run.sh /startup/

USER omero-server
EXPOSE 4063 4064
ENV PATH=$PATH:/opt/ice/bin

VOLUME ["/OMERO", "/opt/omero/server/OMERO.server/var"]

ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

[2]

docker build -t testjm .

...
#16 122.4                 "https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-aarch64/pgdg-redhat-repo-latest.noarch.rpm"
#16 122.4             ],
#16 122.4             "nobest": false,
#16 122.4             "releasever": null,
#16 122.4             "security": false,
#16 122.4             "skip_broken": false,
#16 122.4             "sslverify": true,
#16 122.4             "state": "present",
#16 122.4             "update_cache": true,
#16 122.4             "update_only": false,
#16 122.4             "validate_certs": true
#16 122.4         }
#16 122.4     },
#16 122.4     "msg": "Failed to validate GPG signature for pgdg-redhat-repo-42.0-36PGDG.noarch: Public key for pgdg-redhat-repo-latest.noarch7vsgjyfm.rpm is not installed"
#16 122.4 }
#16 122.4 
#16 122.4 PLAY RECAP *********************************************************************
#16 122.4 localhost                  : ok=26   changed=14   unreachable=0    failed=1    skipped=22   rescued=0    ignored=0   
#16 122.4 
------
executor failed running [/bin/sh -c ansible-playbook playbook.yml -vvv -e 'ansible_python_interpreter=/usr/bin/python3'    -e omero_server_release=$OMERO_VERSION     -e omero_server_omego_additional_args="$OMEGO_ADDITIONAL_ARGS"]: exit code: 2

Issues to consider before releasing as production

Now that #1 is merged we're close to production. Once this becomes official it'll be harder to make changes. Some of the issues we should give a final review to are:

  • Configuration environment variables: e.g. CONFIG_omero_web_public_enabled=false becomes omero.web.public.enabled=false
  • Default passwords: The default OMERO root account password is omero, should we generate a random password instead? Similarly for the public password when #2 is merged?
  • Default value for the database host. Currently it's db under the assumption that a postgres container will be linked with the name db, should we remove the default and make it mandatory instead?

Directory permissions on /opt/omero/server/venv3

Hi OME-Team,

I'm not sure if this is by design, but the /opt/omero/server/venv3 directory is owned by root instead of the omero-server user. This e.g. makes it impossible to pip install additional packages as the "normal" omero-server user. This would e.g. be nice to have, so one could install additional python packages with a script located in /startup, which could easily be mounted from e.g. a k8s configmap.
Now of course it is possible (and maybe even the "correct way to do it) to build docker containers based on the omero-server image that have those packages installed. But for some smaller packages that my users are asking me for, it would make my life easier to not have to rebuild docker images and rebase my images everytime an update to omero is made.

Is this directory permission by choice and is there a specific reason, why this venv is not owned by the server user? If not, would it be possible to maybe adjust the directory ownership over to omero-server?

Best
Julian

Investigate labels creation to GitHub workflows

Container annotations following the OCI image specification are currently defined in the Dockerfile

LABEL org.opencontainers.image.created="unknown"
LABEL org.opencontainers.image.revision="unknown"
LABEL org.opencontainers.image.source="https://github.com/openmicroscopy/omero-server-docker"

Their value is updated as part of the release workflow in

perl -i -pe 's/OMERO_VERSION=(\S+)/OMERO_VERSION=$(VERSION)/' Dockerfile
perl -i -pe 's/(org.opencontainers.image.created=)"([^"]+)"/$$1"$(RELEASE)"/' Dockerfile
perl -i -pe 's/(org.opencontainers.image.revision=)"([^"]+)"/$$1"$(COMMIT)"/' Dockerfile

It might be worth investigating the labels field of docker/build-push-action maybe re-using the workflow defined in https://github.com/docker/build-push-action/blob/646552f0a10fc45d23fb5d14bdae567ea53969e3/docs/advanced/tags-labels.md for creating these labels as part of the GitHub workflow.

An advantage of this approach is that combined with the removal of the build/push action, it might make the wrapping Makefile redundant with a single git tag -s x.y.z-b && git push required for triggering the release of a new set of images.

Help with GA tests for ansible roles

Dear All,

As we are trying to offshore some maintenance work, we were wondering if anyone would be available to pitch in on PRs for updating the GA tests for ansible roles used in this repo to work also on following platforms:

  • Rocky Linux 9
  • Ubuntu 22.04

The list of ansible repositories used in the requirements.yml file of this repo is

ansible-role-basedeps
ansible-role-ice
ansible-role-java
ansible-role-omero-common
ansible-role-omero-server
ansible-role-postresql-client

@JonnyJD, @dpwrussell, @bbladesGH, @stephenogg, @drjrkuhn, @JulianHn, @MicheleBortol, @glyg, @markovendelin, @lucalianas, @jackyko1991, @erickmartins, @Tom-TBT, @PaulVanSchayck, @sukunis, @aherbert

omero-server:5.6.10-1 has "unknown" platform listed

docker run --rm mplatform/mquery openmicroscopy/omero-server:5.6.10-1
Image: openmicroscopy/omero-server:5.6.10-1 (digest: sha256:b60cd3ed93c6923ce19cf0e4645c0873df90c4a78a4efb5892057a30793d7010)
 * Manifest List: Yes (Image type: application/vnd.oci.image.index.v1+json)
 * Supported platforms:
   - linux/amd64
   - unknown/unknown

omero-certificates run before "CONFIG_" variables set

It looks like omero-certificates is being run before any CONFIG_ environment variables have been set, thus the config map when read in omero-certificates is not configurable. E.g. If you want to change the default directory used to write the PKCS12 then the following will be ignored and /OMERO/certs used instead as it's the default in omero-certificates itself.

CONFIG_omero_glacier2_IceSSL_DefaultDir: "/tmp"

access omero.server from outside of the docker container?

I run the omero.server docker image and was able to login with root account from within the container. But on the host, I did not see anything listens to port 4064. When I tried to log in through omero.web from the host it always complains server is not responding.
What is the expected behavior? Can we run omero.server container and access the server from outside of the container or oven from a remote machine?
Thanks.

Run OMERO.server & OMERO.web on MAC M2

Hi all,

I am encountering this issue while trying to run OMERO.server and OMERO.web in Docker on my Mac M2.
-> Following your documentation, I use the command “docker compose pull” and I have the error :

no matching manifest for linux/arm64/v8 in the manifest list entries

Research indicates that the problem is linked with the Mac m2 chip. Is something planned to manage this issue?

Thank you in advance for your answers and have a nice day!

Regards.

mencoder dependency missing for core script Movie_Figure.py

Replicating the issue

Selecting an image with a z-stack in omero web clicking 'publishing options' and 'make movie' then 'create movie' results in an error in the logs: sh: line 1: mencoder: command not found (I used MPEG format and have not tested the other formats)

Proposed Solution:

mencoder seems not to be in the main or expended repos for rocky but is in rpmfusion (free) so can be installed from there.

RUN dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm -y
RUN dnf config-manager --set-disabled rpmfusion-free-updates
RUN dnf --enablerepo rpmfusion-free-updates install -y mencoder

This approach adds the rpmfusion free repo but disables it by default which should prevent conflicts with any duplicates in rpmfusion and other repos.

I'm happy to open a PR adding this commit RichardJActon@11cccb7 if this approach to installing mencoder is acceptable.

Override omero.db.name

In an attempt to deploy PG+OMERO with the minimal characters on the CLI, I tried:

docker run -d --name db -e POSTGRES_USER=omero -e POSTGRES_PASSWORD=omero postgres
docker run --rm --link db test

(This repo uses "omero" rather than "postgres" as a default, but that would be a breaking change)

I get this error:

[jamoore@idr1-slot2 bf-org]$ docker run --rm --link db test
Running /startup/50-config.py
Running /startup/60-database.sh
postgres connection established
Initialising database
2018-02-07 08:58:58,931 [    omego.db] INFO  DbAdmin: DbAdmin OMERO.server ...
2018-02-07 08:58:58,932 [    omego.db] INFO  Failed to lookup parameter omero.db.pass, using omero
2018-02-07 08:58:58,932 [    omego.db] INFO  Failed to lookup parameter omero.db.name, using None
2018-02-07 08:58:58,932 [    omego.db] INFO  Failed to lookup parameter omero.db.user, using omero
Traceback (most recent call last):
  File "/opt/omero/omego/bin/omego", line 9, in <module>
    load_entry_point('omego==0.6.5', 'console_scripts', 'omego')()
  File "/opt/omero/omego/lib/python2.7/site-packages/omego/main.py", line 52, in entry_point
    (Version.NAME, Version)])
  File "/opt/omero/omego/lib/python2.7/site-packages/yaclifw/framework.py", line 197, in main
    ns.func(ns)
  File "/opt/omero/omego/lib/python2.7/site-packages/omego/db.py", line 340, in __call__
    DbAdmin(d, args.dbcommand, args, ext)
  File "/opt/omero/omego/lib/python2.7/site-packages/omego/db.py", line 77, in __init__
    psqlv = self.psql('--version')
  File "/opt/omero/omego/lib/python2.7/site-packages/omego/db.py", line 259, in psql
    db, env = self.get_db_args_env()
  File "/opt/omero/omego/lib/python2.7/site-packages/omego/db.py", line 249, in get_db_args_env
    raise Exception('Database name required')
Exception: Database name required

We could consider this an omego bug (in which case, happy to migrate this), but another option would be to override omero.db.name with the default of omero here as is done with omero.db.host. See https://github.com/openmicroscopy/omero-server-docker/blob/master/60-database.sh#L12

Decreasing Docker image size by cleaning yum cache?

Hey,

inspired by the discussion here ome/omero-web-docker#67, I checked the Dockerfile for the OMERO.server Docker as well and it is possible to decrease the image size significantly by cleaning the yum caches after installing.

Docker diff:

--- a/Dockerfile
+++ b/Dockerfile
@@ -9,15 +9,20 @@ WORKDIR /opt/setup
 ADD playbook.yml requirements.yml /opt/setup/
 
 RUN yum -y install epel-release \
     && yum -y install ansible sudo ca-certificates \
-    && ansible-galaxy install -p /opt/setup/roles -r requirements.yml
+    && ansible-galaxy install -p /opt/setup/roles -r requirements.yml \
+    && yum -y clean all \
+    && rm -fr /var/cache
 
 ARG OMERO_VERSION=5.6.4
 ARG OMEGO_ADDITIONAL_ARGS=
 ENV OMERODIR=/opt/omero/server/OMERO.server/
 RUN ansible-playbook playbook.yml \
     -e omero_server_release=$OMERO_VERSION \
-    -e omero_server_omego_additional_args="$OMEGO_ADDITIONAL_ARGS"
+    -e omero_server_omego_additional_args="$OMEGO_ADDITIONAL_ARGS" \
+    && yum -y clean all \
+    && rm -fr /var/cache
 
 RUN curl -L -o /usr/local/bin/dumb-init \
     https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64 && \

This leads to the following image sizes (updated has an additional yum update -y in the first RUN command.

| Options | Image Size |
| Current | 2.34 GB |
| Cleaned | 1.63 GB |
| Cleaned & Update | 1.73 GB |

This would be a 700MB or almost 30% decrease in image size or roughly 25% if the base CentOS image is updated during the build.

// Julian

Document use of bind mounts

I have trouble with the use of bind mounts when using omero-server-docker. At the same time, with named volumes, all works as it should.

With the bind mounts, the server starts but does not allow to import images as if the data is read-only. Test was done by making a copy of working named volume solution into another location on the host.

Used start command:

docker run -d --name omero-server --restart unless-stopped --env-file omero.config.env \
  -v /var/lib/docker-data/omero/data:/OMERO -p 4063:4063 -p 4064:4064 omero-server

Corresponding working solution with named volume:

docker run -d --name omero-server --restart unless-stopped --env-file omero.config.env \
  -v omero-data:/OMERO -p 4063:4063 -p 4064:4064 omero-server

When checking permissions inside /OMERO, all seem to be the same.

Docker inspect returns

Not working bind mount

            {
                "Type": "bind",
                "Source": "/var/lib/docker-data/omero/data",
                "Destination": "/OMERO",
                "Mode": "z",
                "RW": true,
                "Propagation": "rslave"
            },

Working named volume:

            {
                "Type": "volume",
                "Name": "omero-data",
                "Source": "/var/lib/docker/volumes/omero-data/_data",
                "Destination": "/OMERO",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },

Not sure how to debug it further.

omego --omerosql option exposure

I am currently overriding the 60-database.sh startup file completely because in my case I may be restoring a database rather than creating a new one from scratch. Building from a specific SQL file might be a useful thing to be able to do in general though (e.g. for diagnosing a server where you have been given a dump) and I could also make use of that.

omego has an option --omerosql which does exactly that, but the question would be: How to expose that at container instantiation time. A simple way would be to designate a place where a SQL file could be placed using a volume mount (or other technique, in my case an earlier startup script might have fetched it to the prescribed location from S3), and if present will be used instead of creating a fresh database if that file exists.

Any thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.