diff --git a/.github/workflows/build-push-image-commit.yaml b/.github/workflows/build-push-image-commit.yaml index 1461231..51f38c8 100644 --- a/.github/workflows/build-push-image-commit.yaml +++ b/.github/workflows/build-push-image-commit.yaml @@ -1,5 +1,6 @@ name: Build and push container image, and push update to datahub repo if needed on: + workflow_dispatch: push: branches: - main diff --git a/apt.txt b/apt.txt new file mode 100644 index 0000000..baf6a94 --- /dev/null +++ b/apt.txt @@ -0,0 +1,53 @@ +# Some linux packages for basic terminal work, particularly +# oriented at users new to Unix/cmd line environments. + +# installing less as more just isn't enough +less + +# Download tools +curl +wget +vim +emacs + +# for easily managing multiple repositories with one command (perl-doc +# is needed for its help pages to work) +mr +perl-doc + +# Regular build tools for compiling common stuff +build-essential + +# Dependencies for nbconvert +texlive-xetex +texlive-fonts-recommended +texlive-plain-generic +texlive-lang-chinese +lmodern + +# Other useful document-related tools +pandoc +latexdiff + +# Some useful git utilities use basic Ruby +ruby + +# Other niceties for command-line work and life +rsync + +# playwright deps https://jira-secure.berkeley.edu/browse/DH-325 +libnss3 +libnspr4 +libdbus-1-3 +libatk1.0-0 +libatk-bridge2.0-0 +libcups2 +libdrm2 +libxkbcommon0 +libatspi2.0-0 +libxcomposite1 +libxdamage1 +libxfixes3 +libxrandr2 +libgbm1 +libasound2 diff --git a/environment.yml b/environment.yml index 10d9a47..19be97e 100644 --- a/environment.yml +++ b/environment.yml @@ -1,16 +1,24 @@ +name: default-datahub-user-image # This is the standard conda configuration file. Use this file to list # the conda packages that you need installed in your environment. channels: - conda-forge dependencies: - - jupyter_contrib_nbextensions==0.5.1 - # Required until https://github.com/jupyterhub/repo2docker/pull/1196 is merged - - jupyterhub-singleuser>=3.0,<4.0 - # Set default python version to 3.10 - repo2docker sets it to 3.7 instead by default, - # which can limit us to older package versions - - python=3.10 - # Everyone wants to use nbgitpuller for everything, so let's do that - - nbgitpuller=1.1.* - # Add other packages here - # - + # Items required for basic level functionality + - gh-scoped-creds==4.1 + - git==2.47.0 + - jupyter-resource-usage==1.1.0 + - jupyterhub==4.1.6 + - jupyterlab==4.2.5 + - jupyter_server==2.14.2 + - jupyterlab-git==0.50.1 + - jupytext==1.16.4 + - nbgitpuller==1.2.1 + - notebook==7.2.2 + - python==3.11.* + - pip==24.2 + + # pip installed packages, conda is preferred + - pip: + - nbconvert[webpdf]==7.16.4 diff --git a/postBuild b/postBuild new file mode 100644 index 0000000..bbab0c8 --- /dev/null +++ b/postBuild @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -euo pipefail + +# installing chromium browser to enable webpdf conversion using nbconvert +export PLAYWRIGHT_BROWSERS_PATH=${CONDA_DIR} +playwright install chromium + +# https://github.com/berkeley-dsep-infra/datahub/issues/5827 +git config --system pull.rebase false diff --git a/start b/start new file mode 100644 index 0000000..c3a978b --- /dev/null +++ b/start @@ -0,0 +1,5 @@ +#!/bin/bash + +# See https://jira-secure.berkeley.edu/browse/DH-305 +export PLAYWRIGHT_BROWSERS_PATH=${CONDA_DIR} +exec "$@"