feat: add microsandbox
This commit is contained in:
52
builds/microsandbox/Dockerfile
Normal file
52
builds/microsandbox/Dockerfile
Normal file
@@ -0,0 +1,52 @@
|
||||
ARG DEBIAN_VERSION=13.2-slim
|
||||
FROM debian:${DEBIAN_VERSION}
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
ARG MICROSANDBOX_VERSION=0.2.6
|
||||
ARG TARGETARCH
|
||||
|
||||
RUN apt update && \
|
||||
apt install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl && \
|
||||
apt clean && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Download and install microsandbox binary based on architecture
|
||||
RUN ARCH=${TARGETARCH:-amd64} && \
|
||||
case "${ARCH}" in \
|
||||
amd64) MICROSANDBOX_ARCH="x86_64" ;; \
|
||||
arm64) MICROSANDBOX_ARCH="aarch64" ;; \
|
||||
*) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \
|
||||
esac && \
|
||||
curl -fsSL "https://github.com/zerocore-ai/microsandbox/releases/download/microsandbox-v${MICROSANDBOX_VERSION}/microsandbox-${MICROSANDBOX_VERSION}-linux-${MICROSANDBOX_ARCH}.tar.gz" \
|
||||
-o /tmp/microsandbox.tar.gz && \
|
||||
mkdir -p /usr/local/bin /usr/local/lib && \
|
||||
tar -xzf /tmp/microsandbox.tar.gz -C /tmp && \
|
||||
cd /tmp/microsandbox-${MICROSANDBOX_VERSION}-linux-${MICROSANDBOX_ARCH} && \
|
||||
mv ms* /usr/local/bin/ && \
|
||||
mv *.so.* /usr/local/lib/ && \
|
||||
chmod +x /usr/local/bin/ms* && \
|
||||
rm -rf /tmp/microsandbox*
|
||||
|
||||
# Setup directories for root user
|
||||
RUN mkdir -p /root/.local/bin /root/.local/lib /root/.microsandbox
|
||||
|
||||
# Set up environment variables (based on setup_env.sh)
|
||||
ENV PATH="/root/.local/bin:/usr/local/bin:${PATH}"
|
||||
ENV LD_LIBRARY_PATH="/root/.local/lib:/usr/local/lib:${LD_LIBRARY_PATH}"
|
||||
ENV HOME="/root"
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ARG MICROSANDBOX_AUTO_PULL_IMAGES=true
|
||||
RUN if [ "${MICROSANDBOX_AUTO_PULL_IMAGES}" = "true" ]; then \
|
||||
msb pull microsandbox/python && \
|
||||
msb pull microsandbox/node; \
|
||||
fi
|
||||
|
||||
VOLUME [ "/root/.microsandbox/namespaces" ]
|
||||
|
||||
# Default to microsandbox CLI
|
||||
ENTRYPOINT ["/usr/local/bin/msb"]
|
||||
CMD ["server", "start", "--host", "0.0.0.0", "--port", "5555"]
|
||||
Reference in New Issue
Block a user