68 lines
1.6 KiB
Docker
68 lines
1.6 KiB
Docker
ARG BUILDER_IMAGE=registry.altlinux.org/basealt/altsp:c10f1
|
|
ARG RUNTIME_IMAGE=registry.altlinux.org/basealt/altsp:c10f1
|
|
|
|
FROM ${BUILDER_IMAGE} AS builder
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y install \
|
|
crontabs \
|
|
glibc-locales \
|
|
unzip \
|
|
glib2-devel \
|
|
libfcgi-devel \
|
|
cmake \
|
|
make \
|
|
gcc \
|
|
gcc10
|
|
|
|
WORKDIR /distr
|
|
COPY linux-amd64.tgz .
|
|
|
|
# Install CryptoPRO CSP
|
|
RUN tar -xf linux-amd64.tgz \
|
|
&& cd linux-amd64 \
|
|
&& ./install.sh \
|
|
&& apt-get install ./cprocsp-pki-cades-64-*.rpm \
|
|
&& apt-get install ./lsb-cprocsp-devel-*.rpm \
|
|
&& cd .. && rm -rf linux-amd64 linux-amd64.tgz
|
|
|
|
WORKDIR /build
|
|
COPY src src
|
|
COPY CMakeLists.txt CMakeLists.txt
|
|
|
|
RUN mkdir -p .build \
|
|
&& cd .build \
|
|
&& cmake .. \
|
|
&& make -j4
|
|
|
|
|
|
FROM ${RUNTIME_IMAGE}
|
|
|
|
ENV TZ=Europe/Moscow
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y install mc glib2 libfcgi nginx \
|
|
&& apt-get clean \
|
|
&& rm -f /var/cache/apt/*.bin \
|
|
&& rm -f /var/lib/apt/lists/update* \
|
|
&& adduser --system --no-create-home --user-group --uid 500 ervu
|
|
|
|
COPY --from=builder /usr/lib/locale/ru_RU.utf8 /usr/lib/locale/ru_RU.utf8
|
|
COPY --from=builder /etc/opt/cprocsp /etc/opt/cprocsp
|
|
COPY --from=builder /opt/cprocsp /opt/cprocsp
|
|
COPY --from=builder /var/opt/cprocsp /var/opt/cprocsp
|
|
COPY --from=builder /build/.build/ervu-sign-module /opt/ervu-sign-module/ervu-sign-module
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
|
|
RUN mkdir -p /var/opt/cprocsp/keys/ervu/7h96bfno.000 \
|
|
&& chown -R ervu:ervu /var/opt/cprocsp/keys/ervu \
|
|
&& chmod +x /entrypoint.sh
|
|
|
|
VOLUME /var/opt/cprocsp/keys/ervu/7h96bfno.000
|
|
|
|
EXPOSE 9009
|
|
|
|
USER ervu
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|