# 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"]
