Skip to content
Snippets Groups Projects
Commit 3a31c8bc authored by Emmanuel Bruno's avatar Emmanuel Bruno
Browse files

adds codeserver and cleans up.

parent 913450ef
No related branches found
No related tags found
No related merge requests found
notebooks
...@@ -22,11 +22,12 @@ ENV LANG=en_US.UTF-8 \ ...@@ -22,11 +22,12 @@ ENV LANG=en_US.UTF-8 \
# Sets codeserver directories # Sets codeserver directories
ENV CODESERVEREXT_DIR /opt/codeserver/extensions ENV CODESERVEREXT_DIR /opt/codeserver/extensions
ENV CODE_WORKINGDIR $HOME/work/src ENV CODE_WORKINGDIR $HOME/work
ENV CODESERVERDATA_DIR $HOME/work/codeserver/data ENV CODESERVERDATA_DIR $HOME/work/codeserver/data
ENV PATH=/opt/bin:$PATH
# Add conda env hook # Add conda env hook
COPY ./conda-activate.sh /usr/local/bin/before-notebook.d/ # COPY ./conda-activate.sh /usr/local/bin/before-notebook.d/
# RUN jupyter labextension install @jupyterlab/latex doesn't work with lab 3.0 # RUN jupyter labextension install @jupyterlab/latex doesn't work with lab 3.0
# SO we test a fork. TODO: Multistage Build # SO we test a fork. TODO: Multistage Build
...@@ -39,14 +40,17 @@ RUN echo -e "\e[93m***** Install Jupyter Lab Extensions ****\e[38;5;241m" && \ ...@@ -39,14 +40,17 @@ RUN echo -e "\e[93m***** Install Jupyter Lab Extensions ****\e[38;5;241m" && \
jupyterlab-git==0.30.1 \ jupyterlab-git==0.30.1 \
jupyterlab-system-monitor==0.8.0 && \ jupyterlab-system-monitor==0.8.0 && \
conda install defaults::nb_conda_kernels && \ conda install defaults::nb_conda_kernels && \
npm cache clean --force && \
echo -e "\e[93m***** Install Jupyter LaTeX ****\e[38;5;241m" && \ echo -e "\e[93m***** Install Jupyter LaTeX ****\e[38;5;241m" && \
cd /tmp && \
git clone https://github.com/joequant/jupyterlab-latex.git && \ git clone https://github.com/joequant/jupyterlab-latex.git && \
cd jupyterlab-latex && \ cd jupyterlab-latex && \
pip3 install -e . && \ pip3 install -e . && \
jlpm install && \ jlpm install && \
jlpm run build && \ jlpm run build && \
jupyter labextension install . && \ jupyter labextension install . && \
jlpm cache clean && \
cd && \
rm -rf /tmp/jupyterlab-latex && \
echo -e "\e[93m**** Installs Code Server Web ****\e[38;5;241m" && \ echo -e "\e[93m**** Installs Code Server Web ****\e[38;5;241m" && \
curl -fsSL https://code-server.dev/install.sh | sh -s -- --prefix=/opt --method=standalone && \ curl -fsSL https://code-server.dev/install.sh | sh -s -- --prefix=/opt --method=standalone && \
mkdir -p $CODESERVEREXT_DIR && \ mkdir -p $CODESERVEREXT_DIR && \
...@@ -65,6 +69,7 @@ RUN echo -e "\e[93m***** Install Jupyter Lab Extensions ****\e[38;5;241m" && \ ...@@ -65,6 +69,7 @@ RUN echo -e "\e[93m***** Install Jupyter Lab Extensions ****\e[38;5;241m" && \
chmod 770 -R $CODESERVEREXT_DIR && \ chmod 770 -R $CODESERVEREXT_DIR && \
adduser "$NB_USER" codeserver && \ adduser "$NB_USER" codeserver && \
echo -e "\e[93m**** Clean up ****\e[38;5;241m" && \ echo -e "\e[93m**** Clean up ****\e[38;5;241m" && \
npm cache clean --force && \
jupyter lab clean && \ jupyter lab clean && \
fix-permissions $CONDA_DIR && \ fix-permissions $CONDA_DIR && \
fix-permissions /home/$NB_USER fix-permissions /home/$NB_USER
......
import os
import shutil
def _get_code_server_cmd(port):
executable = "code-server"
if not shutil.which(executable):
raise FileNotFoundError("Can not find code-server in PATH")
# Start vscode in CODE_WORKINGDIR env variable if set
# If not, start in 'current directory', which is $REPO_DIR in mybinder
# but /home/jovyan (or equivalent) in JupyterHubs
working_dir = os.getenv("CODE_WORKINGDIR", ".")
extensions_dir = os.getenv("CODESERVEREXT_DIR", None)
extra_extensions_dir = os.getenv("CODE_EXTRA_EXTENSIONSDIR", None)
cmd = [
executable,
"--auth","none",
"--disable-telemetry",
"--user-data-dir",os.getenv("CODESERVERDATA_DIR"),
"--port=" + str(port),
]
if extensions_dir:
cmd += ["--extensions-dir", extensions_dir]
if extra_extensions_dir:
cmd += ["--extra-extensions-dir", extra_extensions_dir]
cmd.append(working_dir)
return cmd
c.ServerProxy.servers = {
'code-server': {
'command': _get_code_server_cmd,
'timeout': 20,
'launcher_entry': {
'title': 'VS Code IDE',
'icon_path': os.path.join(
os.path.dirname(os.path.abspath(__file__)), "icons", "code-server.svg"),
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<svg width="1010px" height="1018px" viewBox="0 0 1010 1018" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>logo</title>
<defs>
<path d="M543,781.4 C435.5,673.9 346.8,585.5 346,585.1 C344.9,584.5 311.5,610.4 220.7,682.2 L96.9,780.2 L49.2,755.7 L1.5,731.2 L1,489.5 C0.5,248.5 0.5,247.7 2.5,246.5 C3.6,245.8 25.3,234.6 50.7,221.6 L96.9,197.9 L221.1,296.1 L345.3,394.2 L542.1,197.4 L738.9,0.6 L786.2,19.7 C812.2,30.1 866.4,51.9 906.7,68.1 L979.9,97.5 L980,488.7 C980,858.9 979.9,880 978.2,880.9 C975.4,882.4 740.2,977 739.3,977 C738.9,977 650.5,889 543,781.4 Z M737.3,489.8 C737,379.1 736.8,288.2 736.7,287.7 C736.6,287.3 678.5,332.3 607.7,387.6 C536.9,442.9 479.1,488.7 479.3,489.3 C479.7,490.7 735.2,690.8 736.6,690.9 C737.5,691 737.6,639.3 737.3,489.8 Z M170.4,564.5 C210.9,523.5 244,489.5 244,489 C244,488.3 134.3,374.3 103.9,343.5 L96,335.5 L96,487.3 C96,570.7 96.2,639 96.4,639 C96.6,639 129.9,605.5 170.4,564.5 Z" id="path-1"></path>
<mask id="mask-2" maskContentUnits="userSpaceOnUse" maskUnits="objectBoundingBox" x="-15" y="-15" width="1009.27778" height="1006.4">
<rect x="-14.2777778" y="-14.4" width="1009.27778" height="1006.4" fill="white"></rect>
<use xlink:href="#path-1" fill="black"></use>
</mask>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="logo" transform="translate(505.000000, 512.500000) scale(-1, 1) rotate(-180.000000) translate(-505.000000, -512.500000) translate(15.000000, 24.000000)">
<g id="Shape" fill-rule="nonzero">
<use fill="#0060B1" fill-rule="evenodd" xlink:href="#path-1"></use>
<use stroke="#FFFFFF" mask="url(#mask-2)" stroke-width="30" xlink:href="#path-1"></use>
</g>
<path d="M737.3,489.8 C737,379.1 736.8,288.2 736.7,287.7 C736.6,287.3 678.5,332.3 607.7,387.6 C536.9,442.9 479.1,488.7 479.3,489.3 C479.7,490.7 735.2,690.8 736.6,690.9 C737.5,691 737.6,639.3 737.3,489.8 Z" id="Path" fill="#FFFFFF"></path>
<path d="M170.4,564.5 C210.9,523.5 244,489.5 244,489 C244,488.3 134.3,374.3 103.9,343.5 L96,335.5 L96,487.3 C96,570.7 96.2,639 96.4,639 C96.6,639 129.9,605.5 170.4,564.5 Z" id="Path-Copy" fill="#FFFFFF"></path>
</g>
</g>
</svg>
#!/usr/bin/env bash #!/usr/bin/env bash
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
. ${DIR}/env.sh
docker run --rm \ docker run --rm \
--name jupyterjava_${PWD##*/} \ --name jupyterjava_${PWD##*/} \
--volume $PWD/notebooks:/home/jovyan/work \ --volume $PWD/notebooks:/home/jovyan/work \
--publish 8888:8888 \ --publish 8888:8888 \
--env NB_UID=$UID \ --env NB_UID=$UID \
--env JUPYTER_ENABLE_LAB=yes \ --env JUPYTER_ENABLE_LAB=yes \
brunoe/jupyterjava:feature_dockerstack ${BASE}:$SHA
# --env NOTEBOOK_SRC_SUBDIR=${PWD##*/} \
# --volume $PWD/src:/src \
# --volume ~/.m2:/home/jovyan/.m2 \
# --volume $PWD/codeserver:/codeserver \
#--env CHOWN_HOME_OPTS='-R' --env CHOWN_HOME=yes \ #--env CHOWN_HOME_OPTS='-R' --env CHOWN_HOME=yes \
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment