Created
March 9, 2026 16:03
-
-
Save mihaitodor/967e38d20e90dd4e15a4a15c376abaef to your computer and use it in GitHub Desktop.
Run ChimeraX headless CLI in a Docker container
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM ubuntu:24.04 AS builder | |
| # Copied from https://github.com/RBVI/ChimeraX/blob/2148f30d4af45ddcd2b24eef6a794ccf081d4dec/prereqs/linux_buildenv/ubuntu-24.04.def#L12-L80 | |
| # Also added `git`, which seems to be required | |
| RUN export PATH=/usr/bin:/usr/sbin:/bin:/sbin && \ | |
| export SHELL=/bin/bash && \ | |
| export LANG=en_US.UTF-8 && \ | |
| export DEBIAN_FRONTEND=noninteractive && \ | |
| apt-get -y update && \ | |
| apt-get install -y --no-install-recommends \ | |
| language-selector-common ffmpeg vim-nox \ | |
| build-essential g++ gfortran gfortran-9 \ | |
| tcsh cmake bc \ | |
| patchelf patch openssh-client rsync ca-certificates \ | |
| make autoconf automake libtool pkg-config \ | |
| flex bison yasm unzip tar fakeroot curl wget \ | |
| python3 python-is-python3 \ | |
| imagemagick \ | |
| libasound2-dev \ | |
| libatk1.0-dev \ | |
| libbz2-dev \ | |
| libcairo2-dev \ | |
| libcups2-dev \ | |
| libdbus-1-dev \ | |
| libegl1-mesa-dev \ | |
| libexpat1-dev \ | |
| libffi-dev \ | |
| libfftw3-dev \ | |
| libfreetype6-dev \ | |
| libgdk-pixbuf2.0-dev \ | |
| libgl1-mesa-dev \ | |
| libglu1-mesa-dev \ | |
| libgstreamer1.0-dev \ | |
| libgstreamer-plugins-base1.0-dev \ | |
| libgtk-3-dev \ | |
| libhdf5-dev \ | |
| libicu-dev \ | |
| libjpeg-dev \ | |
| liblzma-dev \ | |
| libmysqlclient-dev \ | |
| libnss3-dev \ | |
| libosmesa6-dev \ | |
| libpango1.0-dev \ | |
| libpcre3-dev \ | |
| libpng-dev \ | |
| libpulse-dev \ | |
| libsqlite3-dev \ | |
| libssl-dev \ | |
| libtiff-dev \ | |
| libx11-dev \ | |
| libxcomposite-dev \ | |
| libxcursor-dev \ | |
| libxext-dev \ | |
| libxft-dev \ | |
| libxi-dev \ | |
| libxmu-dev \ | |
| libxpm-dev \ | |
| libxrandr-dev \ | |
| libxslt1-dev \ | |
| libxss-dev \ | |
| libxt-dev \ | |
| libxtst-dev \ | |
| llvm-dev \ | |
| libz-dev \ | |
| x11proto-scrnsaver-dev \ | |
| xdg-utils \ | |
| zlib1g-dev \ | |
| git && \ | |
| apt-get install -y --no-install-recommends `check-language-support -l en_US` && \ | |
| apt-get clean && \ | |
| rm -rf /var/lib/apt/lists/* | |
| WORKDIR /ChimeraX | |
| COPY . . | |
| RUN make install | |
| FROM ubuntu:24.04 | |
| RUN groupadd --system --gid 101 nonroot \ | |
| && useradd --system --gid 101 --uid 101 --create-home nonroot | |
| RUN export DEBIAN_FRONTEND=noninteractive && \ | |
| apt-get -y update && \ | |
| apt-get install -y \ | |
| libglu1 \ | |
| libgl1 \ | |
| libegl1 \ | |
| libglib2.0-dev \ | |
| libxkbcommon-x11-0 \ | |
| libdbus-1-3 | |
| COPY --from=builder --chown=nonroot:nonroot /ChimeraX/ChimeraX.app /ChimeraX/ChimeraX.app | |
| USER nonroot | |
| ENTRYPOINT [ "/ChimeraX/ChimeraX.app/bin/ChimeraX" ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment