Remoto - VFS: Dockerfile
Remoto - VFS
Dockerfile

The VFS Image Docker File

ARG qtbase=registry-ny.eyelash.ai:5050/vfs/core/vfs_qtbase
ARG qtversion=5.15.2
# base stage
FROM $qtbase:$qtversion as base
LABEL maintainer="admin@eyelash.ai"
LABEL stage=vfs-build-base
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y apt-utils && \
apt-get install -y libncurses5-dev libncursesw5-dev unzip file && \
#apt-get install -y cmake libssl-dev libssl1.0-dev libsasl2-dev && \
apt-get install -y cmake libssl1.0-dev libsasl2-dev && \
apt-get -qq clean
#ln -s /usr/bin/make /usr/bin/gmake
#COPY ./src/cmake-3.2.3.tar.gz /tmp/cmake-3.2.3.tar.gz
#RUN cd /tmp && \
# tar xzf /tmp/cmake-3.2.3.tar.gz && \
# cd cmake-3.2.3 && \
# ./bootstrap && \
# gmake -j 8 && gmake install && \
# mv bin/cmake /usr/local/bin/cmake
ARG CORE_COUNT=8
ENV CORE_COUNT=$CORE_COUNT
WORKDIR /tmp/mongo
COPY ./docker/src/mongo-c-driver-1.8.0.tar.gz ./
RUN tar xzf mongo-c-driver-1.8.0.tar.gz && \
cd mongo-c-driver-1.8.0 && \
./configure --disable-automatic-init-and-cleanup && \
make -j ${CORE_COUNT} && make install
#COPY ./src/mongo-c-driver-1.17.0.tar.gz $WORKDIR/
#RUN tar xzf mongo-c-driver-1.17.0.tar.gz && \
# cd $WORKDIR/mongo-c-driver-1.17.0 && \
# mkdir cmake-build && cd cmake-build && \
# cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF .. && \
# cmake --build . && \
# cmake --build . --target install
WORKDIR /tmp/mongo
COPY ./docker/src/mongo-cxx-driver-releases-v3.1.zip ./
RUN unzip mongo-cxx-driver-releases-v3.1.zip && \
cd mongo-cxx-driver-releases-v3.1/build && \
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
make EP_mnmlstc_core && make -j ${CORE_COUNT} && make install
#COPY ./src/mongo-cxx-driver-r3.6.0.tar.gz $WORKDIR/
#RUN tar -xzf mongo-cxx-driver-r3.6.0.tar.gz && \
# cd $WORKDIR/mongo-cxx-driver-r3.6.0/build && \
# #export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && \
# cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
# cmake --build . --target EP_mnmlstc_core && \
# cmake --build . && \
# cmake --build . --target install
WORKDIR /tmp/python
COPY ./docker/src/Python-2.7.5.tgz ./
RUN apt-get install -y libzstd-dev && \
tar -zxvf Python-2.7.5.tgz && \
cd Python-2.7.5 && \
#./configure --enable-optimizations --with-ensurepip=install --enable-shared --prefix=/usr/local && \
./configure --enable-shared --prefix=/usr/local && \
make -j ${CORE_COUNT} && \
make install
# make altinstall
#COPY ./docker/src/Python-3.9.0.tgz ./
#RUN apt-get install -y libzstd-dev && \
# tar -zxvf Python-3.9.0.tgz && \
# cd Python-3.9.0 && \
## ./configure --enable-optimizations --with-ensurepip=install --enable-shared --prefix=/usr/local && \
# ./configure --enable-shared --prefix=/usr/local && \
# make -j ${CORE_COUNT} && \
# make install
## make altinstall
WORKDIR /opt
RUN rm -rf /tmp/*
RUN echo "/usr/local/lib" >> /etc/ld.so.conf && ldconfig
# vfs stage
FROM base as vfs
LABEL stage=vfs-build
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y libfile-which-perl bc sysstat git && \
apt-get install -y libpam0g-dev flex bison && \
apt-get install -y iputils-ping && \
apt-get -qq clean
ARG VFS_VERSION=vX.Y.Z
ENV VFS_VERSION=${VFS_VERSION}
ENV VFS_DIR=/opt/vfs_server/server
#doxygen build
#COPY ./docker/src/doxygen ${VFS_DIR}/../docker/src/doxygen
COPY ./docker ${VFS_DIR}/../docker
RUN cd ${VFS_DIR}/../docker/src/doxygen && \
mkdir build && cd build && \
cmake -G "Unix Makefiles" .. && \
make -j ${CORE_COUNT} && make install
# Set the locale, and importantly UTF-8
#RUN apt-get install -y locales locales-all
#RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
# locale-gen
#ENV LANG=en_US.UTF-8
#ENV LANGUAGE=en_US
#ENV LC_ALL=en_US.UTF-8
#build the server
COPY ./server ${VFS_DIR}
RUN ${VFS_DIR}/build.sh cleanbuild
RUN ${VFS_DIR}/build.sh buildplugins
RUN unset CORE_COUNT && \
unset CI_BUILD
#build the documentation
COPY ./documentation ${VFS_DIR}/../documentation
RUN ${VFS_DIR}/../documentation/build.sh
RUN rm -rfv ${VFS_DIR}/../docker && \
rm -rfv ${VFS_DIR}/qt-build* && \
rm -rfv ${VFS_DIR}/MakeFile

The Documentation Image Dockerfile

FROM registry.eyelash.ai:5050/vfs/core/vfs_server:latest AS server
FROM nginx:alpine
MAINTAINER Chris Healer "admin@eyelash.ai"
COPY --from=server /opt/vfs_server/documentation/html /usr/share/nginx/html