34 lines
816 B
Docker
34 lines
816 B
Docker
# Use an official Ubuntu as a parent image
|
|
FROM ubuntu:latest
|
|
|
|
# Set the working directory in the container to /app
|
|
WORKDIR /server
|
|
|
|
# Install necessary packages, including CMake, a C++ compiler, and wget
|
|
RUN apt-get update && \
|
|
apt-get install -y cmake g++ make wget && \
|
|
apt-get clean;
|
|
|
|
# Copy the current directory contents into the container at /app
|
|
COPY . /server
|
|
|
|
# Download Crow library
|
|
RUN wget https://github.com/CrowCpp/Crow/archive/refs/heads/master.zip -O crow.zip && \
|
|
unzip crow.zip && \
|
|
mv Crow-master/crow/include/crow.h /usr/local/include/
|
|
|
|
# Make the build directory
|
|
RUN mkdir -p build && cd build
|
|
|
|
# Run CMake to configure the build
|
|
RUN cmake ..
|
|
|
|
# Build the project
|
|
RUN make
|
|
|
|
# Expose port 8888 for the web server
|
|
EXPOSE 8888
|
|
|
|
# Command to run the executable
|
|
CMD ["./douwco_web"]
|