Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build an ARM docker image for the OMERO server #87

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

khaledk2
Copy link
Contributor

I have used this PR to build an aarch64 image for the Omero server. It used the following ansible role:

The modified ome.omero_server ansible role uses the following modified two roles

The last one is the one which has been merged into the Ome master

In addition, I have built an ice package and wheel locally and pushed them to a dummy repo release to download them at run time

The built image has been pushed to:
khaledk2/omero-server:arm

cc @joshmoore @jburel @sbesson @pwalczysko

@joshmoore
Copy link
Member

So in terms of steps to get this live, @khaledk2, is it something like:

  • review the build ... scripts(?) for the ice package & wheel
  • have those builds publicly (GH or downloads.openmicroscopy.org)
  • open & review ansible-role-ice:arch64
  • open & review ansible-role-omero-server:aarch64_josh
  • use the public roles here and release?

@pwalczysko
Copy link
Member

Tested via docker-compose, see file below (basically, pulling an image from khaledk2/omero-server:arm as described in the header of this PR.

Works fine, import via cli, insight, and viewing via web. Also, the services work fine after restart.
lgtm

version: "3"

services:

  database:
    image: "postgres:14"
    environment:
      POSTGRES_USER: xxx
      POSTGRES_DB: xxx
      POSTGRES_PASSWORD: xxx
    networks:
      - omero
    volumes:
      - "database:/var/lib/postgresql/data"

  omeroserver:
    # This container uses the tag for the latest server release of OMERO 5
    # To upgrade to the next major release, increment the major version number
    image: "khaledk2/omero-server:arm"
    environment:
      CONFIG_omero_db_host: database
      CONFIG_omero_db_user: omero
      CONFIG_omero_db_pass: xxx
      CONFIG_omero_db_name: omero
      ROOTPASS: xxx
    networks:
      - omero
    ports:
      - "4063:4063"
      - "4064:4064"
    volumes:
      - "omero:/OMERO"

  omeroweb:
    # This container uses the tag for the latest web release of OMERO 5
    # To upgrade to the next major release, increment the major version number
    image: "openmicroscopy/omero-web-standalone:5"
    environment:
      OMEROHOST: omeroserver
    networks:
      - omero
    ports:
      - "4080:4080"

networks:
  omero:

volumes:
  database:
  omero:

@pwalczysko
Copy link
Member

Nevertheless, some failing tests here.

@khaledk2
Copy link
Contributor Author

Nevertheless, some failing tests here.

Could you please let me know what failed tests you had?

@khaledk2
Copy link
Contributor Author

So in terms of steps to get this live, @khaledk2, is it something like:

  • review the build ... scripts(?) for the ice package & wheel
  • have those builds publicly (GH or downloads.openmicroscopy.org)
  • open & review ansible-role-ice:arch64
  • open & review ansible-role-omero-server:aarch64_josh
  • use the public roles here and release?

I have created the wheel and ice package locally from the source code using command lines.
I am creating docker files to create an image, this image will be used to build the ice package and there will be another image to build the wheel. Each image contains all the required packages for building.

I have already created PRs for both ome ice role and ome.omero_server role

@pwalczysko
Copy link
Member

Nevertheless, some failing tests here.

Could you please let me know what failed tests you had?

I mean the tests in this PR, the Github Actions - they are not mine - just below this comment.
Screenshot 2024-01-24 at 09 22 57

Dockerfile Outdated

ADD entrypoint.sh /usr/local/bin/
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/8/Everything/aarch64/Packages/d/dumb-init-1.2.5-7.el8.aarch64.rpm
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check this line please

8 or 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants