Files
docker-images/jupyterhub/Dockerfile
Walter Oggioni 94c474031e
All checks were successful
CI / Build wildfly docker images (push) Successful in 3m15s
added jupyterhub image
2025-04-11 00:31:27 +08:00

32 lines
1.1 KiB
Docker

FROM alpine:latest AS base
ARG VERSION
RUN --mount=type=cache,target=/var/cache/apk apk update
RUN --mount=type=cache,target=/var/cache/apk apk add python3 nodejs libcurl
RUN adduser -D -u 1000 jupyterhub
RUN mkdir -p /var/lib/jupyterhub
RUN chown jupyterhub:jupyterhub /var/lib/jupyterhub
FROM base AS build
USER root
RUN --mount=type=cache,target=/var/cache/apk apk add npm curl-dev gcc musl-dev python3-dev
RUN --mount=type=cache,target=/home/jupyterhub/.cache/pip npm install -g configurable-http-proxy
USER jupyterhub
WORKDIR /var/lib/jupyterhub
RUN python3 -m venv .
RUN --mount=type=cache,target=/home/jupyterhub/.cache/pip ./bin/pip install "jupyterhub==${VERSION}" jupyterhub_idle_culler dockerspawner psycopg2-binary oauthenticator pycurl
FROM base AS release
USER root
COPY --from=build /usr/local/lib/node_modules /usr/local/lib/node_modules
RUN ln -s ../lib/node_modules/configurable-http-proxy/bin/configurable-http-proxy /usr/local/bin/configurable-http-proxy
COPY --from=build /var/lib/jupyterhub /var/lib/jupyterhub
USER jupyterhub
WORKDIR /home/jupyterhub
ENV PATH="/var/lib/jupyterhub/bin/:$PATH"
EXPOSE 43080
ENTRYPOINT ["jupyterhub"]