mirror of https://github.com/jumpserver/jumpserver
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
52 lines
2.0 KiB
ARG VERSION |
|
|
|
FROM registry.fit2cloud.com/jumpserver/xpack:${VERSION} AS build-xpack |
|
FROM python:3.11-slim-bullseye AS build-core |
|
ARG BUILD_DEPENDENCIES=" \ |
|
g++" |
|
|
|
ARG APT_MIRROR=http://mirrors.ustc.edu.cn |
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \ |
|
--mount=type=cache,target=/var/lib/apt,sharing=locked,id=core \ |
|
set -ex \ |
|
&& rm -f /etc/apt/apt.conf.d/docker-clean \ |
|
&& echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache \ |
|
&& sed -i "s@http://.*.debian.org@${APT_MIRROR}@g" /etc/apt/sources.list \ |
|
&& apt-get update \ |
|
&& apt-get -y install --no-install-recommends ${BUILD_DEPENDENCIES} \ |
|
&& echo "no" | dpkg-reconfigure dash |
|
|
|
WORKDIR /opt/jumpserver |
|
|
|
ARG PIP_MIRROR=https://pypi.tuna.tsinghua.edu.cn/simple |
|
RUN --mount=type=cache,target=/root/.cache,sharing=locked,id=core \ |
|
--mount=type=bind,source=poetry.lock,target=/opt/jumpserver/poetry.lock \ |
|
--mount=type=bind,source=pyproject.toml,target=/opt/jumpserver/pyproject.toml \ |
|
set -ex \ |
|
&& python3 -m venv /opt/py3 \ |
|
&& pip install poetry -i ${PIP_MIRROR} \ |
|
&& poetry config virtualenvs.create false \ |
|
&& . /opt/py3/bin/activate \ |
|
&& poetry install --only xpack |
|
|
|
FROM registry.fit2cloud.com/jumpserver/core:${VERSION}-ce |
|
ARG TARGETARCH |
|
|
|
ARG TOOLS=" \ |
|
curl \ |
|
iputils-ping \ |
|
netcat-openbsd \ |
|
nmap \ |
|
telnet \ |
|
vim \ |
|
wget" |
|
|
|
ARG APT_MIRROR=http://mirrors.ustc.edu.cn |
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=core \ |
|
--mount=type=cache,target=/var/lib/apt,sharing=locked,id=core \ |
|
set -ex \ |
|
&& apt-get update \ |
|
&& apt-get -y install --no-install-recommends ${TOOLS} |
|
|
|
COPY --from=build-core /opt/py3 /opt/py3 |
|
COPY --from=build-xpack /opt/xpack /opt/jumpserver/apps/xpack |