From 95b14be866ded1fb27c4e80f639e67d1a4afa393 Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 17:23:18 +0000 Subject: [PATCH 1/9] set rstudio dir on welcome? --- .devcontainer/Dockerfile | 1 + .devcontainer/install.R | 8 ++++---- .devcontainer/welcome.sh | 5 +++++ 3 files changed, 10 insertions(+), 4 deletions(-) mode change 100644 => 100755 .devcontainer/install.R diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 24cf7c7..b854318 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,6 +8,7 @@ RUN bash install_dev_osgeo.sh && rm install_dev_osgeo.sh USER rstudio WORKDIR /home/rstudio +RUN chsh -s /usr/bin/bash COPY requirements.txt requirements.txt ENV PATH=$PATH:/home/rstudio/.local/bin diff --git a/.devcontainer/install.R b/.devcontainer/install.R old mode 100644 new mode 100755 index 74dacdb..671eff4 --- a/.devcontainer/install.R +++ b/.devcontainer/install.R @@ -1,11 +1,11 @@ +#! /usr/local/bin/Rscript # install R dependencies # We could use renv.lock approach here instead, but will force re-creation of environment from scratch # Does not provide a good way to ensure that sf/terra/gdalcubes are installed from source while other packages can be binary -install.packages(c("rstac", "spData")) -remotes::install_github("boettiger-lab/earthdatalogin") +install.packages(c("rstac", "spData", "earthdatalogin", "quarto")) remotes::install_github('r-tmap/tmap') -#install.packages(c("IRkernel", "languageserver", "httpgd")) -#IRkernel::installspec() +install.packages(c("IRkernel", "languageserver", "httpgd")) +IRkernel::installspec() diff --git a/.devcontainer/welcome.sh b/.devcontainer/welcome.sh index bcb3403..89aab9b 100755 --- a/.devcontainer/welcome.sh +++ b/.devcontainer/welcome.sh @@ -1,3 +1,8 @@ +mkdir -p ~/.local/share/rstudio/projects_settings +export RPROJ"=$(ls ${CODESPACE_VSCODE_FOLDER}/*.Rproj)" +echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path + + # Construct the message message="## [Open in RStudio](https://$CODESPACE_NAME-8787.app.github.dev) " From 2f14d74f4b9722694b9fa66a41bcdfd196dd6a7d Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 17:54:50 +0000 Subject: [PATCH 2/9] gitpod setup --- .devcontainer/setup.sh | 6 ------ .gitpod-setup.sh | 5 +++++ .gitpod.yml | 4 ++++ 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 .gitpod-setup.sh diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index 4a19cee..d033e22 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -4,9 +4,3 @@ sudo cp /etc/rstudio/disable_auth_rserver.conf /etc/rstudio/rserver.conf sudo sudo bash -c 'echo "USER=rstudio" >>/etc/environment' sudo /init & -## set startup dir -mkdir -p ~/.local/share/rstudio/projects_settings -export RPROJ"=$(ls ${CODESPACE_VSCODE_FOLDER}/*.Rproj)" -echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path - - diff --git a/.gitpod-setup.sh b/.gitpod-setup.sh new file mode 100644 index 0000000..c131eee --- /dev/null +++ b/.gitpod-setup.sh @@ -0,0 +1,5 @@ +sudo useradd rstudio -u 1000 -s /bin/bash +print pwd +mkdir -p ~/.local/share/rstudio/projects_settings +export RPROJ"=$(ls *.Rproj)" +echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path diff --git a/.gitpod.yml b/.gitpod.yml index 6b3da05..72da3c1 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1 +1,5 @@ image: ghcr.io/boettiger-lab/nasa-tops:latest +tasks: + - init: bash ./.gitpod-setup.sh + - before: bash .devcontainer/setup.sh + From 6e22aafa9968bc45885498411e30adbd866e5b84 Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 18:13:42 +0000 Subject: [PATCH 3/9] gitpod debug --- .gitpod-setup.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitpod-setup.sh b/.gitpod-setup.sh index c131eee..3578037 100644 --- a/.gitpod-setup.sh +++ b/.gitpod-setup.sh @@ -1,5 +1,4 @@ sudo useradd rstudio -u 1000 -s /bin/bash -print pwd -mkdir -p ~/.local/share/rstudio/projects_settings +mkdir -p /home/rstudio/.local/share/rstudio/projects_settings export RPROJ"=$(ls *.Rproj)" -echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path +echo ${RPROJ} > /home/rstudio/.local/share/rstudio/projects_settings/last-project-path From 84e27bef6f2ad79c0e2a992f1689ac0ea8f0264f Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 10:16:12 -0800 Subject: [PATCH 4/9] Update Dockerfile --- .devcontainer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b854318..93c854d 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,7 +8,7 @@ RUN bash install_dev_osgeo.sh && rm install_dev_osgeo.sh USER rstudio WORKDIR /home/rstudio -RUN chsh -s /usr/bin/bash +RUN usermod -s /bin/bash rstudio COPY requirements.txt requirements.txt ENV PATH=$PATH:/home/rstudio/.local/bin @@ -18,4 +18,4 @@ COPY install.R install.R RUN Rscript install.R && rm install.R # some teaching preferences -RUN git config --global pull.rebase false \ No newline at end of file +RUN git config --global pull.rebase false From 94a743df7a350fdfd8bd7467204932fb2bebd014 Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 18:51:43 +0000 Subject: [PATCH 5/9] gitpod --- .devcontainer/setup.sh | 2 +- .gitpod-setup.sh | 9 ++++++--- .gitpod.yml | 9 ++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh index d033e22..b89dcf1 100755 --- a/.devcontainer/setup.sh +++ b/.devcontainer/setup.sh @@ -2,5 +2,5 @@ sudo cp /etc/rstudio/disable_auth_rserver.conf /etc/rstudio/rserver.conf sudo sudo bash -c 'echo "USER=rstudio" >>/etc/environment' -sudo /init & +sudo /init &> /dev/null & diff --git a/.gitpod-setup.sh b/.gitpod-setup.sh index 3578037..0237b69 100644 --- a/.gitpod-setup.sh +++ b/.gitpod-setup.sh @@ -1,4 +1,7 @@ sudo useradd rstudio -u 1000 -s /bin/bash -mkdir -p /home/rstudio/.local/share/rstudio/projects_settings -export RPROJ"=$(ls *.Rproj)" -echo ${RPROJ} > /home/rstudio/.local/share/rstudio/projects_settings/last-project-path +mkdir -p ~/.local/share/rstudio/projects_settings +sudo mkdir -p /home/rstudio/.local/share/rstudio/projects_settings +export RPROJ"=$(ls -d $PWD/*.Rproj)" +sudo echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path +sudo cp ~/.local/share/rstudio/projects_settings/last-project-path /home/rstudio/.local/share/rstudio/projects_settings/last-project-path +sudo chown -R rstudio:rstudio /home/rstudio/.local/share/rstudio diff --git a/.gitpod.yml b/.gitpod.yml index 72da3c1..b3b1868 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,5 +1,8 @@ image: ghcr.io/boettiger-lab/nasa-tops:latest tasks: - - init: bash ./.gitpod-setup.sh - - before: bash .devcontainer/setup.sh - + - name: rstudio-init + init: bash .devcontainer/setup.sh + - name: setup + init: bash .gitpod-setup.sh + - name: rstudio-server + init: sudo rstudio-server start \ No newline at end of file From c2c006d5914a1aba0cf2cf7467239c4d72c8735f Mon Sep 17 00:00:00 2001 From: Carl Date: Mon, 27 Nov 2023 11:27:54 -0800 Subject: [PATCH 6/9] use /opt/venv --- .devcontainer/Dockerfile | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 24cf7c7..d0ea8bd 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,20 +1,30 @@ # devcontainer-focused Rocker FROM ghcr.io/rocker-org/devcontainer/tidyverse:4.3 + +ENV NB_USER=rstudio +ENV VIRTUAL_ENV=/opt/venv +ENV PATH=${PATH}:${VIRTUAL_ENV}/bin +ADD https://raw.githubusercontent.com/rocker-org/rocker-versioned2/c1a472465532c8349cf0ad4f3f95c86e85787dc3/scripts/install_python.sh install_python.sh +RUN bash install_python.sh && rm install_python.sh + + RUN apt-get update && apt-get -y install libxt6 -RUN /rocker_scripts/install_python.sh ADD https://raw.githubusercontent.com/rocker-org/rocker-versioned2/master/scripts/experimental/install_dev_osgeo.sh install_dev_osgeo.sh RUN bash install_dev_osgeo.sh && rm install_dev_osgeo.sh +RUN chown -R rstudio:rstudio /opt/venv + USER rstudio WORKDIR /home/rstudio +RUN usermod -s /bin/bash rstudio COPY requirements.txt requirements.txt ENV PATH=$PATH:/home/rstudio/.local/bin -RUN pip install --user -r requirements.txt && rm requirements.txt +RUN python -m pip install -r requirements.txt && rm requirements.txt COPY install.R install.R RUN Rscript install.R && rm install.R # some teaching preferences -RUN git config --global pull.rebase false \ No newline at end of file +RUN git config --global pull.rebase false From 2d62d88da547417af6f59f52c0af8f9ed22eedb4 Mon Sep 17 00:00:00 2001 From: Carl Date: Mon, 27 Nov 2023 11:32:24 -0800 Subject: [PATCH 7/9] gitpod as gitpod --- .gitpod-setup.sh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitpod-setup.sh b/.gitpod-setup.sh index 0237b69..87f6004 100644 --- a/.gitpod-setup.sh +++ b/.gitpod-setup.sh @@ -1,7 +1,5 @@ -sudo useradd rstudio -u 1000 -s /bin/bash +export DEFAULT_USER=gitpod mkdir -p ~/.local/share/rstudio/projects_settings -sudo mkdir -p /home/rstudio/.local/share/rstudio/projects_settings export RPROJ"=$(ls -d $PWD/*.Rproj)" -sudo echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path -sudo cp ~/.local/share/rstudio/projects_settings/last-project-path /home/rstudio/.local/share/rstudio/projects_settings/last-project-path -sudo chown -R rstudio:rstudio /home/rstudio/.local/share/rstudio +echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path + From 3cb6e9eb69ce8146fe206834bbdbbb7c6abe8f9c Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 19:58:33 +0000 Subject: [PATCH 8/9] better gitpod --- .gitpod-resume.sh | 4 ++++ .gitpod-setup.sh | 10 +++++++++- .gitpod.yml | 6 ++---- 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 .gitpod-resume.sh diff --git a/.gitpod-resume.sh b/.gitpod-resume.sh new file mode 100644 index 0000000..f69e848 --- /dev/null +++ b/.gitpod-resume.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo rstudio-server start + diff --git a/.gitpod-setup.sh b/.gitpod-setup.sh index 87f6004..61f232d 100644 --- a/.gitpod-setup.sh +++ b/.gitpod-setup.sh @@ -1,5 +1,13 @@ -export DEFAULT_USER=gitpod +#!/bin/bash + +sudo cp /etc/rstudio/disable_auth_rserver.conf /etc/rstudio/rserver.conf +cp /etc/environment env +echo "USER=$USER" >> env +sudo mv env /etc/environment + mkdir -p ~/.local/share/rstudio/projects_settings export RPROJ"=$(ls -d $PWD/*.Rproj)" echo ${RPROJ} > ~/.local/share/rstudio/projects_settings/last-project-path +sudo rstudio-server start + diff --git a/.gitpod.yml b/.gitpod.yml index b3b1868..ed9c56a 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,8 +1,6 @@ image: ghcr.io/boettiger-lab/nasa-tops:latest tasks: - name: rstudio-init - init: bash .devcontainer/setup.sh - - name: setup init: bash .gitpod-setup.sh - - name: rstudio-server - init: sudo rstudio-server start \ No newline at end of file + - name: resume + command: bash .gitpod-resume.sh From e7c00e026cd2d0753dc70cb8e68b7a6e430e2009 Mon Sep 17 00:00:00 2001 From: Carl Boettiger Date: Mon, 27 Nov 2023 22:32:16 +0000 Subject: [PATCH 9/9] testing --- .gitpod.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitpod.yml b/.gitpod.yml index ed9c56a..d476fa8 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,6 +1,4 @@ image: ghcr.io/boettiger-lab/nasa-tops:latest tasks: - name: rstudio-init - init: bash .gitpod-setup.sh - - name: resume - command: bash .gitpod-resume.sh + command: bash .gitpod-setup.sh