Skip to content
Snippets Groups Projects
Dockerfile 1.55 KiB
Newer Older
Matthew K Defenderfer's avatar
Matthew K Defenderfer committed
FROM ubuntu:jammy

ENV DEBIAN_FRONTEND=noninteractive
Matthew K Defenderfer's avatar
Matthew K Defenderfer committed

# install curl and download the febio installer first to prevent any site timeout for the cookies
RUN apt-get update && \
    apt-get install curl -y

COPY cookies.txt /tmp/cookies.txt
RUN curl --output /tmp/febio.zip -b /tmp/cookies.txt "https://febio.org/download/12171/?tmstv=1729879260" && \
    rm /tmp/cookies.txt
Matthew K Defenderfer's avatar
Matthew K Defenderfer committed
    libglu1-mesa \
    libx11-6 \
    libxtst6 \
    libxrender1 \
    libxrandr2 \
    libxcursor1 \
    libglib2.0-0 \
    libxcb-xinerama0 \
    libxkbcommon-x11-0 \
    mesa-utils \
Matthew K Defenderfer's avatar
Matthew K Defenderfer committed
    x11-apps \
    xorg \
RUN unzip -p /tmp/febio.zip > /tmp/febio.run && \
    rm /tmp/febio.zip
Matthew K Defenderfer's avatar
Matthew K Defenderfer committed

      --mode unattended \
      --unattendedmodeui minimal \
      --enable-components comp_febio_sdk

    ln -s /opt/FEBioStudio/bin/FEBioStudio /usr/bin/FEBioStudio && \
    ln -s /opt/FEBioStudio/bin/febio4 /usr/bin/febio4
# See https://unix.stackexchange.com/a/700599. libQt6Core.so.6 adds a tag that denotes a minimum kernel version required
# to run it and is set to 3.17.0, above Centos7's 3.10.0. This is why the library was never found even within a 
# container despite successfully finding other Qt6 libraries. This command removes that tag so Qt6Core will function on 
# Linux kernel 3.10.0
RUN strip --remove-section=.note.ABI-tag /opt/FEBioStudio/lib/libQt6Core.so.6

ENTRYPOINT ["FEBioStudio"]