mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
78 lines
2.5 KiB
Docker
78 lines
2.5 KiB
Docker
#########################################################################################################
|
|
# Build protoc
|
|
#########################################################################################################
|
|
FROM gcc:7.5 as protoc_build
|
|
RUN git clone --recurse-submodules https://github.com/protocolbuffers/protobuf.git
|
|
WORKDIR /protobuf
|
|
|
|
RUN git checkout v3.9.1
|
|
RUN ./autogen.sh
|
|
RUN ./configure --enable-static=yes
|
|
RUN make -j$(grep processor /proc/cpuinfo | wc -l)
|
|
RUN make check
|
|
|
|
CMD ["./protobuf"]
|
|
|
|
#########################################################################################################
|
|
# Build release
|
|
#########################################################################################################
|
|
From conanio/gcc7 as release
|
|
|
|
ENV DOCKER_WORKDIR="/code"
|
|
|
|
USER root
|
|
|
|
COPY --from=protoc_build /protobuf/src/.libs/protoc /usr/bin/
|
|
COPY --from=protoc_build /protobuf/src/.libs/libprotobuf.so.20.0.1 /usr/lib/libprotobuf.so.20
|
|
COPY --from=protoc_build /protobuf/src/.libs/libprotoc.so.20.0.1 /usr/lib/libprotoc.so.20
|
|
COPY --from=protoc_build /protobuf/src/google/protobuf/*.proto /usr/include/google/protobuf/
|
|
COPY --from=protoc_build /protobuf/src/google/protobuf/*.h /usr/include/google/protobuf/
|
|
|
|
|
|
RUN mkdir -p ${DOCKER_WORKDIR}
|
|
WORKDIR ${DOCKER_WORKDIR}
|
|
|
|
COPY . .
|
|
#RUN git submodule update --init --recursive
|
|
RUN ls -la
|
|
RUN cd dependencies/iroha-ed25519 && \
|
|
ls -la && \
|
|
mkdir build && \
|
|
cd build && \
|
|
cmake .. -DEDIMPL=ref10 -DHASH=sha2_sphlib -DRANDOM=bcryptgen -DBUILD=STATIC && \
|
|
make -j$(grep processor /proc/cpuinfo | wc -l)
|
|
|
|
RUN cd dependencies/mariadb-connector-c && \
|
|
mkdir build && \
|
|
cd build && \
|
|
cmake -DWITH_SSL=OFF ..
|
|
|
|
RUN chmod +x compile_proto.sh
|
|
RUN chmod +x compile_pot.sh
|
|
RUN ls -la
|
|
RUN ./compile_pot.sh
|
|
RUN ./compile_proto.sh
|
|
RUN mkdir build && \
|
|
cd build && \
|
|
conan install .. --build=missing && \
|
|
cmake .. && \
|
|
make -j$(grep processor /proc/cpuinfo | wc -l) Gradido_LoginServer
|
|
|
|
|
|
CMD ["./code"]
|
|
|
|
#########################################################################################################
|
|
# run release
|
|
#########################################################################################################
|
|
#From alpine:latest as login_server
|
|
FROM alpine:latest as login_server
|
|
|
|
WORKDIR "/usr/bin"
|
|
|
|
COPY --from=release /code/build/bin/Gradido_LoginServer /usr/bin/
|
|
COPY --from=release /code/build/lib/libmariadb.so.3 /usr/lib/
|
|
|
|
RUN chmod +x /usr/bin/Gradido_LoginServer
|
|
ENTRYPOINT ["/usr/bin/Gradido_LoginServer"]
|
|
CMD Gradido_LoginServer
|