graphql-engine/packaging/graphql-engine-base/centos.dockerfile
2022-06-16 08:52:48 +00:00

48 lines
1.9 KiB
Docker

# DATE VERSION: 2022-06-16
# Modify the above date version (YYYY-MM-DD) if you want to rebuild the image for security updates
FROM quay.io/centos/centos@sha256:8f2c5bfa77df306ae5f34bac3303055b5e5a443e56f4acdb26b80d2e921e657a
# TARGETPLATFORM is automatically set up by docker buildx based on the platform we are targetting for
ARG TARGETPLATFORM
RUN groupadd -g 1001 hasura && useradd -m -u 1001 -g hasura hasura
# Dependencies taken from: https://github.com/0x777/hge-arm-dockerfiles/blob/master/hge.df
# Below are the CentOS libraries matching these apt/Debian ones:
# libpq5 libkrb5-3 libnuma1 ca-certificates (ca-certificates are preinstalled)
#
# yum/dnf update/upgrade uses --nobest option to tackle https://github.com/hasura/graphql-engine-mono/issues/4096
RUN yum update -y --nobest \
&& yum install -y dnf \
&& dnf upgrade -y --nobest \
&& dnf -qy module disable postgresql \
&& dnf install -y \
krb5-libs \
numactl-libs \
libstdc++ \
&& case "$TARGETPLATFORM" in \
"linux/amd64") \
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm \
;; \
"linux/arm64") \
dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-aarch64/pgdg-redhat-repo-latest.noarch.rpm \
;; \
esac \
&& dnf install -y postgresql14-devel \
# delete all pg tools except pg_dump to keep the image minimal
&& find /usr/bin -name 'pg*' -not -path '/usr/bin/pg_dump' -delete
# msodbcsql17
RUN yum remove unixODBC-utf16 unixODBC-utf16-devel \
&& yum install -y unixODBC-devel \
&& if [ "$TARGETPLATFORM" = "linux/amd64" ] ; then \
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo \
&& ACCEPT_EULA=Y yum install -y msodbcsql17 ; \
fi
# mysql
RUN dnf install -y mariadb-connector-c pcre-devel \
&& ln -s /usr/lib64/libpcre.so /usr/lib64/libpcre.so.3
RUN yum clean all && rm -rf /var/cache/yum