45 lines
1009 B
Docker
45 lines
1009 B
Docker
# pq-ftp/server/Dockerfile
|
|
|
|
# Base Image: Ubuntu 22.04
|
|
FROM ubuntu:22.04
|
|
|
|
# Avoid interactive prompts during installation
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install dependencies for building C++ and OQS
|
|
# Install dependencies for building C++ and OQS
|
|
RUN apt-get update && apt-get install -y \
|
|
git \
|
|
cmake \
|
|
g++ \
|
|
make \
|
|
libssl-dev \
|
|
zlib1g-dev \
|
|
ninja-build \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Clone and install liboqs
|
|
WORKDIR /opt
|
|
RUN git clone --branch 0.14.0 https://github.com/open-quantum-safe/liboqs.git
|
|
WORKDIR /opt/liboqs
|
|
RUN mkdir build && cd build && \
|
|
cmake -DOQS_USE_OPENSSL=OFF -GNinja .. && \
|
|
ninja && \
|
|
ninja install
|
|
|
|
# Set up the working directory for our server code
|
|
WORKDIR /app
|
|
|
|
# Copy the server source code and Makefile
|
|
COPY ./src /app/src
|
|
COPY Makefile /app/
|
|
|
|
# Compile the server
|
|
RUN make
|
|
|
|
# Create directories for transfers and logs
|
|
RUN mkdir -p /transfer && mkdir -p /logs
|
|
|
|
# Set the entrypoint for the container
|
|
CMD [ "./bin/server" ]
|