| FROM debian:latest AS puppy | |
| # prep | |
| RUN apt-get update \ | |
| && apt-get install -y curl \ | |
| && apt-get clean | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV PATH=/home/user/.pixi/bin:$PATH | |
| RUN mkdir $HOME/puppy | |
| WORKDIR $HOME/puppy | |
| # install puppy | |
| RUN curl -fsSL https://raw.githubusercontent.com/liquidcarbon/puppy/main/pup.sh | bash -s 3.13 | |
| RUN pup | |
| RUN pixi add jupyter | |
| RUN pup add rawr requests | |
| RUN pup list | |
| EXPOSE 7860 | |
| # https://huggingface.co/spaces/SpacesExamples/jupyterlab/blob/main/start_server.sh | |
| CMD pixi run jupyter-lab \ | |
| --ip 0.0.0.0 \ | |
| --port 7860 \ | |
| --no-browser \ | |
| --allow-root \ | |
| --ServerApp.tornado_settings="{'headers': {'Content-Security-Policy': 'frame-ancestors *'}}" \ | |
| --ServerApp.cookie_options="{'SameSite': 'None', 'Secure': True}" \ | |
| --ServerApp.disable_check_xsrf=True \ | |
| --LabApp.news_url=None \ | |
| --LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate" \ | |
| --PasswordIdentityProvider.hashed_password='argon2:$argon2id$v=19$m=10240,t=10,p=8$r/6qMnrYrVBhhnzO4mNgqQ$uDWGIeGNu9Wfyscoq8gJ+WUF5lXX+BJVLrIRtKJGWNQ' |