mirror of
https://github.com/johndoe6345789/WizardMerge.git
synced 2026-04-24 13:44:55 +00:00
47 lines
970 B
Docker
47 lines
970 B
Docker
# Dockerfile for WizardMerge Backend with Drogon
|
|
FROM ubuntu:24.04
|
|
|
|
# Install dependencies
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
git \
|
|
gcc \
|
|
g++ \
|
|
cmake \
|
|
ninja-build \
|
|
libjsoncpp-dev \
|
|
uuid-dev \
|
|
zlib1g-dev \
|
|
libssl-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Drogon framework
|
|
WORKDIR /tmp
|
|
RUN git clone https://github.com/drogonframework/drogon.git && \
|
|
cd drogon && \
|
|
git submodule update --init && \
|
|
mkdir build && cd build && \
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release && \
|
|
make -j$(nproc) && \
|
|
make install && \
|
|
cd /tmp && rm -rf drogon
|
|
|
|
# Set up work directory
|
|
WORKDIR /app
|
|
COPY . .
|
|
|
|
# Build WizardMerge
|
|
RUN mkdir -p build && cd build && \
|
|
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release && \
|
|
ninja
|
|
|
|
# Expose port
|
|
EXPOSE 8080
|
|
|
|
# Copy config to build directory
|
|
RUN cp config.json build/
|
|
|
|
# Run the server
|
|
WORKDIR /app/build
|
|
CMD ["./wizardmerge-cli"]
|