Spaces:
Sleeping
Sleeping
| FROM ghcr.io/prefix-dev/pixi:0.70.1 AS build | |
| ARG PIXI_ENV=default | |
| ARG NB_USER=jovyan | |
| ARG NB_UID=1000 | |
| ENV HOME=/home/${NB_USER} | |
| WORKDIR ${HOME} | |
| COPY . ${HOME} | |
| # Install the locked Pixi environment. | |
| RUN pixi install --locked -e ${PIXI_ENV} | |
| # Create activation wrapper; this is adapted from Pixi's container docs. | |
| RUN pixi shell-hook -e ${PIXI_ENV} -s bash > /shell-hook | |
| RUN printf '#!/bin/bash\n' > /entrypoint.sh \ | |
| && cat /shell-hook >> /entrypoint.sh \ | |
| && printf '\nexec "$@"\n' >> /entrypoint.sh \ | |
| && chmod +x /entrypoint.sh | |
| FROM ubuntu:22.04 | |
| # FROM ubuntu:24.04 # joywant | |
| ARG PIXI_ENV=default | |
| ARG NB_USER=jovyan | |
| ARG NB_UID=1000 | |
| ENV USER=${NB_USER} | |
| ENV NB_UID=${NB_UID} | |
| ENV HOME=/home/${NB_USER} | |
| ENV SHELL=/bin/bash | |
| ENV DEBIAN_FRONTEND=noninteractive | |
| ENV PATH=${HOME}/.pixi/envs/${PIXI_ENV}/bin:${PATH} | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends \ | |
| bash \ | |
| ca-certificates \ | |
| tini \ | |
| && rm -rf /var/lib/apt/lists/* \ | |
| && useradd --create-home --shell /bin/bash --uid ${NB_UID} ${NB_USER} | |
| WORKDIR ${HOME} | |
| COPY --from=build ${HOME}/.pixi/envs/${PIXI_ENV} ${HOME}/.pixi/envs/${PIXI_ENV} | |
| COPY --from=build --chmod=0755 /entrypoint.sh /entrypoint.sh | |
| COPY . ${HOME} | |
| USER root | |
| RUN chown -R ${NB_UID}:${NB_UID} ${HOME} /entrypoint.sh | |
| USER ${NB_USER} | |
| EXPOSE 8888 | |
| ENTRYPOINT ["/entrypoint.sh"] | |
| CMD ["jupyter", "notebook", "--NotebookApp.default_url=/lab/"] |