1
0
forked from wrenn/wrenn

Fix build recipe execution and flatten reliability

- Set HOME in bctx.EnvVars when USER switches so ~ expands correctly in
  subsequent RUN/WORKDIR steps instead of resolving to /root
- Run /bin/sync inside the guest before FlattenRootfs destroys the VM,
  preventing pip-installed files from being captured as 0-byte due to
  unflushed page cache
- Wrap healthcheck command with su <user> so it runs with the template's
  default user context (correct HOME, correct UID)
- Export Shellescape from the recipe package for use in build service
- Add code-runner-beta recipe (Jupyter server with ipykernel --sys-prefix)
  and replace old python-interpreter-v0-beta
This commit is contained in:
2026-04-15 18:24:54 +06:00
parent 59507d7553
commit 5b4fde055c
8 changed files with 46 additions and 13 deletions

View File

@ -0,0 +1 @@
--interval=5s --timeout=5s --start-period=60s --retries=5 curl -sf http://127.0.0.1:8888/api/status

View File

@ -0,0 +1,9 @@
RUN --timeout=5m sudo apt install -y python3 python3-pip python3-venv
ENV PYTHONUNBUFFERED=1
RUN python3 -m venv ~/jupyter-env
RUN --timeout=5m ~/jupyter-env/bin/pip install --upgrade pip
RUN --timeout=5m ~/jupyter-env/bin/pip install jupyter-server ipykernel
RUN --timeout=5m ~/jupyter-env/bin/python -m ipykernel install --sys-prefix
START ~/jupyter-env/bin/jupyter server --ServerApp.ip=0.0.0.0 --ServerApp.port=8888 --ServerApp.token='' --ServerApp.password='' --ServerApp.allow_origin='*' --ServerApp.disable_check_xsrf=True --no-browser --log-level=INFO

View File

@ -1 +0,0 @@
--interval=5s --timeout=3s --start-period=3s --retries=3 python3 -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8888/api/status', timeout=3)"

View File

@ -1,7 +0,0 @@
RUN apt-get install -y --no-install-recommends python3 python3-pip python3-venv
RUN python3 -m venv /opt/venv
ENV PATH=/opt/venv/bin:$PATH
RUN --timeout=5m pip install --no-cache-dir jupyter-server ipykernel
START jupyter server --ServerApp.ip=0.0.0.0 --ServerApp.port=8888 --ServerApp.token='' --ServerApp.allow_origin='*' --ServerApp.disable_check_xsrf=True --no-browser --allow-root