Skip to content

Build an ARM docker image for the OMERO server#87

Open
khaledk2 wants to merge 3 commits intoome:masterfrom
khaledk2:arm_docker
Open

Build an ARM docker image for the OMERO server#87
khaledk2 wants to merge 3 commits intoome:masterfrom
khaledk2:arm_docker

Conversation

@khaledk2
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Member

Nevertheless, some failing tests here.

@khaledk2
Copy link
Copy Markdown
Contributor Author

Nevertheless, some failing tests here.

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

@khaledk2
Copy link
Copy Markdown
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
Copy Markdown
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
RUN source omero/server/venv3/bin/activate

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
Copy Markdown
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.

3 participants