Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Findings Ledger CI / build-test (push) Has been cancelled
Findings Ledger CI / migration-validation (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
cryptopro-linux-csp / build-and-test (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
sm-remote-ci / build-and-test (push) Has been cancelled
Findings Ledger CI / generate-manifest (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
37 lines
1.3 KiB
Docker
37 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
FROM mcr.microsoft.com/dotnet/nightly/sdk:10.0 AS build
|
|
WORKDIR /src
|
|
COPY ops/cryptopro/linux-csp-service/CryptoProLinuxApi.csproj .
|
|
RUN dotnet restore CryptoProLinuxApi.csproj
|
|
COPY ops/cryptopro/linux-csp-service/ .
|
|
RUN dotnet publish CryptoProLinuxApi.csproj -c Release -r linux-x64 --self-contained true \
|
|
/p:PublishSingleFile=true /p:DebugType=none /p:DebugSymbols=false -o /app/publish
|
|
|
|
FROM ubuntu:22.04
|
|
|
|
ARG CRYPTOPRO_ACCEPT_EULA=0
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
CRYPTOPRO_ACCEPT_EULA=${CRYPTOPRO_ACCEPT_EULA} \
|
|
CRYPTOPRO_MINIMAL=1
|
|
|
|
WORKDIR /app
|
|
|
|
# System deps for CryptoPro installer
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends tar xz-utils ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# 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 (requires CRYPTOPRO_ACCEPT_EULA=1 at build/runtime)
|
|
RUN CRYPTOPRO_ACCEPT_EULA=${CRYPTOPRO_ACCEPT_EULA} /usr/local/bin/install-linux-csp.sh
|
|
|
|
# Copy published .NET app
|
|
COPY --from=build /app/publish/ /app/
|
|
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["/app/CryptoProLinuxApi"]
|