32 lines
912 B
Docker
32 lines
912 B
Docker
# syntax=docker/dockerfile:1.7
|
|
FROM ubuntu:22.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
CRYPTOPRO_ACCEPT_EULA=1 \
|
|
CRYPTOPRO_MINIMAL=1
|
|
|
|
WORKDIR /app
|
|
|
|
# System deps
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends python3 python3-pip tar xz-utils && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy CryptoPro packages (provided in repo) and installer
|
|
COPY opt/cryptopro/downloads/*.tgz /opt/cryptopro/downloads/
|
|
COPY ops/cryptopro/install-linux-csp.sh /usr/local/bin/install-linux-csp.sh
|
|
RUN chmod +x /usr/local/bin/install-linux-csp.sh
|
|
|
|
# Install CryptoPro CSP
|
|
RUN /usr/local/bin/install-linux-csp.sh
|
|
|
|
# Python deps
|
|
COPY ops/cryptopro/linux-csp-service/requirements.txt /app/requirements.txt
|
|
RUN pip3 install --no-cache-dir -r /app/requirements.txt
|
|
|
|
# App
|
|
COPY ops/cryptopro/linux-csp-service/app.py /app/app.py
|
|
|
|
EXPOSE 8080
|
|
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
|