summaryrefslogtreecommitdiff
path: root/docker/centos-8.Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/centos-8.Dockerfile')
-rw-r--r--docker/centos-8.Dockerfile35
1 files changed, 35 insertions, 0 deletions
diff --git a/docker/centos-8.Dockerfile b/docker/centos-8.Dockerfile
new file mode 100644
index 0000000..3d60c72
--- /dev/null
+++ b/docker/centos-8.Dockerfile
@@ -0,0 +1,35 @@
+FROM centos:8
+
+ARG mscpdir="/mscp"
+
+COPY . ${mscpdir}
+
+# from https://stackoverflow.com/questions/70963985/error-failed-to-download-metadata-for-repo-appstream-cannot-prepare-internal
+RUN cd /etc/yum.repos.d/
+RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
+RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
+
+# install numpy and pytest, sshd for test, and rpm-build
+RUN set -ex && yum -y update && yum -y install \
+ python3 python3-pip openssh openssh-server openssh-clients rpm-build
+
+RUN python3 -m pip install numpy pytest
+
+
+# preparation for sshd
+RUN mkdir /var/run/sshd \
+ && ssh-keygen -A \
+ && ssh-keygen -f /root/.ssh/id_rsa -N "" \
+ && mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
+
+# install build dependency
+RUN ${mscpdir}/scripts/install-build-deps.sh
+
+# build
+RUN cd ${mscpdir} \
+ && rm -rf build \
+ && cmake -B build -DBUILD_PKG=1 \
+ && cd ${mscpdir}/build \
+ && make \
+ && cpack -G RPM CPackConfig.cmake
+