Enable FPBioimage in omeroweb docker

HI all,

I’d like to enable FPBioimage in docker. My problem is the configuration is erased when I restart the docker (because the configuration is not in a permanent volume). Is there a way to restart only the web server without killing the docker, or do I have to change the dockerfile to copy the config.xml before the server starts, or a 3rd way I did not see?

Hi,

The OMERO.web developer docs have an example for how to use a local config with the omero-web docker:

https://docs.openmicroscopy.org/omero/5.6.1/developers/Web/CreateApp.html#run-your-app-with-omero-web-in-a-docker-container

Hope that helps?

Will

Yes it does thanks a lot! I think it boils down to putting the configuration file in a volume shared with the host, which sounds reasonable :slight_smile:

BTW in the doc this:

$ docker_appdir=/opt/omero/web/venv/lib/python2.7/site-packages/minimal_webapp

Should be updated to that:

$ docker_appdir=/opt/omero/web/venv3/lib/python3.6/site-packages/minimal_webapp

I’ll update with my solution.

So creating a volume for the config directory works, here in ansible, but would be similar in docker-compose:

  - name: Create config volume
    docker_volume:
      name: omero_config
      driver_options:
        type: none
        device: "{{ data_path }}/config"
        o: bind


...
  - name: Run omero web
    docker_container:
      name: 'omeroweb'
      restart_policy: unless-stopped
      image: "openmicroscopy/omero-web-standalone:5.6"
      env:
        OMEROHOST: "omeroserver"
      networks:
        - name: omero
      published_ports:
        - "127.0.0.1:4080:4080"
      volumes:
        - "omero_config:/opt/omero/web/config/"

Maybe a pointer to the problem would be good in the omero_fpbioimage doc or README?

Hi @glyg

We have some information in the OMERO.web docker image readme:

Were you aware of this? If not do you think it’s clear enough- if so we can point to it from our other Docker repos, or copy some of the information from that README elsewhere.

Hi @manics thanks for the links, I saw them. My issue was precisely about plugins activation. In the linked doc, it is written:

The following plugins are installed but disabled:

To enable them or to change the configuration of a default plugin see the relevant plugin documentation.

But in fp bioimae readme doc, it is said that you should restart the webserver for the change in configuration to take effect (’'Now restart OMERO.web as normal."). But restarting the docker instance erases the config changes. To avoid that, I think that the config directory /opt/omero/web/config/ must be setup as a docker volume, or maybe I miss something?

To be fair, I see this is detailed in the omero-server-docker readme, I did not make the link. I assume the web related config.omero files must be on the omero-web docker?

For persistence purposes, shouldn’t these configurations files be on a volume by default?

Thanks for explaining! There’s several ways of ensuring the config file is persistent, such as building it in to the Docker image (using the official omero-web image as the parent image), mounting a config file in (-v /path/on/host/50-omero-web-app-config.omero:/opt/omero/web/config/50-omero-web-app-config.omero, probably the easiest) or creating a volume as you’ve done.

We could definitely improve our docs on this, so I’ve opened an issue to add an example: https://github.com/ome/docker-example-omero/issues/5

Thanks a lot, that’s great! Sorry if I sounded frustrated, as your doc is already quite complete. Virtualization can get a bit nerve grinding :smiley:

1 Like