Warning, /panda-server/Dockerfile.base is written in an unsupported language. File is not indexed.
0001 # Base Platform Image for PanDA services
0002 #
0003 # NOTE: Modify the image tag in ./github/workflows/base-platform-docker-image.yml when OS or Python version is changed
0004
0005 ARG PYTHON_VERSION=3.11.6
0006
0007 FROM docker.io/almalinux:9
0008
0009 ARG PYTHON_VERSION
0010
0011 RUN yum update -y
0012 RUN yum install -y epel-release
0013
0014 RUN yum install -y httpd httpd-devel gcc gridsite git psmisc less wget logrotate procps which \
0015 openssl-devel readline-devel bzip2-devel libffi-devel zlib-devel systemd-udev voms-clients \
0016 sqlite-devel
0017
0018 # install python
0019 RUN mkdir /tmp/python && cd /tmp/python && \
0020 wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
0021 tar -xzf Python-*.tgz && rm -f Python-*.tgz && \
0022 cd Python-* && \
0023 ./configure --enable-shared --enable-optimizations --with-lto && \
0024 make altinstall && \
0025 echo /usr/local/lib > /etc/ld.so.conf.d/local.conf && ldconfig && \
0026 cd / && rm -rf /tmp/python
0027
0028 # install Oracle Instant Client and tnsnames.ora
0029 RUN wget https://download.oracle.com/otn_software/linux/instantclient/oracle-instantclient-basic-linuxx64.rpm -P /tmp/ && \
0030 yum install /tmp/oracle-instantclient-basic-linuxx64.rpm -y && \
0031 wget https://download.oracle.com/otn_software/linux/instantclient/oracle-instantclient-sqlplus-linuxx64.rpm -P /tmp/ && \
0032 yum install /tmp/oracle-instantclient-sqlplus-linuxx64.rpm -y
0033
0034 # Grab the latest version of the Oracle tnsnames.ora file
0035 RUN ln -fs /data/panda/tnsnames.ora /etc/tnsnames.ora
0036
0037 # install postgres
0038 RUN yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
0039 RUN yum install --nogpgcheck -y postgresql16
0040 RUN yum clean all && rm -rf /var/cache/yum
0041
0042 # update network limitations
0043 RUN echo 'net.core.somaxconn=4096' >> /etc/sysctl.d/999-net.somax.conf
0044
0045 # setup venv with pythonX.Y
0046 RUN python$(echo ${PYTHON_VERSION} | sed -E 's/\.[0-9]+$//') -m venv /opt/panda
0047 RUN /opt/panda/bin/pip install --no-cache-dir -U pip
0048 RUN /opt/panda/bin/pip install --no-cache-dir -U setuptools
0049 RUN /opt/panda/bin/pip install --no-cache-dir -U gnureadline
0050 RUN adduser atlpan
0051 RUN groupadd zp
0052 RUN usermod -a -G zp atlpan