mirror of
https://github.com/upa/mscp.git
synced 2026-02-04 03:24:58 +08:00
46 lines
1.2 KiB
Docker
46 lines
1.2 KiB
Docker
FROM alpine:3.17
|
|
|
|
# Build mscp with conan to create single binary mscp
|
|
|
|
RUN apk add --no-cache \
|
|
gcc make cmake python3 py3-pip perl linux-headers libc-dev \
|
|
openssh bash python3-dev g++
|
|
|
|
RUN pip3 install conan pytest
|
|
|
|
# preparation for sshd
|
|
RUN ssh-keygen -A
|
|
RUN mkdir /var/run/sshd \
|
|
&& ssh-keygen -f /root/.ssh/id_rsa -N "" \
|
|
&& mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
|
|
|
|
|
|
# Build mscp as a single binary
|
|
RUN conan profile detect --force
|
|
|
|
ARG mscpdir="/mscp"
|
|
|
|
COPY . ${mscpdir}
|
|
|
|
RUN cd ${mscpdir} \
|
|
&& rm -rf build \
|
|
&& conan install . --output-folder=build --build=missing \
|
|
&& cd ${mscpdir}/build \
|
|
&& cmake .. \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake \
|
|
-DBUILD_CONAN=ON -DBUILD_STATIC=ON \
|
|
&& make \
|
|
&& cp mscp /usr/bin/ \
|
|
&& cp mscp /mscp/build/mscp_alpine-3.17-x86_64.static
|
|
# copy mscp to PKG FILE NAME because this build doesn't use CPACK
|
|
|
|
# install mscp python module
|
|
RUN cd ${mscpdir} \
|
|
&& python3 setup.py install --user
|
|
|
|
# Need Fix: A trick putting libmscp.so to python mscp module dir does not work on alpine,
|
|
# so install libmscp.
|
|
RUN cd ${mscpdir}/build \
|
|
&& make install
|