Skip to content

Commit d3e6f6d

Browse files
committed
2.8.0
1 parent 58b1582 commit d3e6f6d

File tree

7 files changed

+78
-45
lines changed

7 files changed

+78
-45
lines changed

files/setup-ml-frameworks.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ else
4040

4141
# mamba install -y pytorch torchvision "pillow<9" -c pytorch -c anaconda
4242
# mamba install -y "pillow<9" -c anaconda
43-
mamba install -y pytorch torchvision cpuonly -c pytorch
43+
# mamba install -y pytorch torchvision cpuonly -c pytorch
44+
mamba install -y pytorch torchvision -c pytorch
4445

4546
## current version on conda-forge is 9.2.0
4647
## caused problems for torchvision

files/setup-quarto.sh

+8-3
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,16 @@ CRAN=${CRAN:-https://cran.r-project.org}
1313
CRAN_SOURCE=${CRAN/"__linux__/$UBUNTU_VERSION/"/""}
1414

1515
if [ "$(uname -m)" != "aarch64" ]; then
16-
ln -fs /usr/lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin
16+
# ln -fs /usr/lib/rstudio-server/bin/quarto/bin/quarto /usr/local/bin
17+
# need pre-release for inline python
18+
sudo apt-get update -qq && apt-get -y install gdebi-core
19+
wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.4.376/quarto-1.4.376-linux-amd64.deb -O quarto.deb
20+
sudo gdebi -n quarto.deb # adding -n to run non-interactively
21+
1722
else
18-
# not available for aarch64 yet
23+
# need pre-release for inline python
1924
sudo apt-get update -qq && apt-get -y install gdebi-core
20-
wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.3.191/quarto-1.3.191-linux-arm64.deb -O quarto.deb
25+
wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.4.376/quarto-1.4.376-linux-arm64.deb -O quarto.deb
2126
sudo gdebi -n quarto.deb # adding -n to run non-interactively
2227
CRAN=$CRAN_SOURCE
2328
fi

files/supervisord.conf

+7
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,10 @@ command=sudo -u postgres /usr/lib/postgresql/%(ENV_POSTGRES_VERSION)s/bin/postgr
1616
stdout_logfile=/var/log/supervisor/%(program_name)s.log
1717
stderr_logfile=/var/log/supervisor/%(program_name)s.log
1818
autorestart=true
19+
20+
[program:sshd]
21+
command=sudo /usr/sbin/sshd -D
22+
stdout_logfile=/var/log/supervisor/%(program_name)s.log
23+
stderr_logfile=/var/log/supervisor/%(program_name)s.log
24+
startsecs=0
25+
autorestart=false

launch-rsm-msba-arm.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ else
371371
fi
372372
{
373373
docker run --name ${LABEL} --net ${NETWORK} -d \
374-
-p 127.0.0.1:8989:8989 -p 127.0.0.1:8765:8765 -p 127.0.0.1:8181:8181 -p 127.0.0.1:8282:8282 -p 127.0.0.1:8501:8501 -p 127.0.0.1:8000:8000 -p 127.0.0.1:6006:6006 \
374+
-p 127.0.0.1:2222:22 -p 127.0.0.1:8989:8989 -p 127.0.0.1:8765:8765 -p 127.0.0.1:8181:8181 -p 127.0.0.1:8282:8282 -p 127.0.0.1:8501:8501 -p 127.0.0.1:8000:8000 -p 127.0.0.1:6006:6006 \
375375
-e TZ=${TIMEZONE} \
376376
-v "${HOMEDIR}":/home/${NB_USER} $MNT \
377377
-v pg_data:/var/lib/postgresql/${POSTGRES_VERSION}/main \
@@ -670,7 +670,7 @@ else
670670
docker run --name="selenium_${selenium_nr}" --net ${NETWORK} -d -p 127.0.0.1:${selenium_port}:4444 --platform linux/arm64 seleniarm/standalone-firefox
671671
fi
672672
echo "You can access selenium at ip: selenium_${selenium_nr}, port: 4444 from the"
673-
echo "${LABEL} container (selenium_${selenium_nr}:4444) and ip: 127.0.0.1,"
673+
echo "${LABEL} container (selenium_${selenium_nr}:4444) and ip: 127.0.0.1,"
674674
echo "port: ${selenium_port} (http://127.0.0.1:${selenium_port}) from the host OS"
675675
echo "Press any key to continue"
676676
echo $BOUNDARY

rsm-msba-arm/Dockerfile

+26-18
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
# python 3.11 version posted on 6-13-2023 (arm64)
44
# FROM jupyter/pyspark-notebook@sha256:0b3cd3dadce9e1b088b4c987cf1b71ff9deaa1bbe90d89b095c757cb2badec13
55
# python 3.11 version posted on 6-25-2023 (arm64)
6-
FROM jupyter/pyspark-notebook@sha256:b18721c3abe68c5316aa71c1d783c459a18968b29154ab235ca33cef374c3b9a
6+
# FROM jupyter/pyspark-notebook@sha256:b18721c3abe68c5316aa71c1d783c459a18968b29154ab235ca33cef374c3b9a
7+
# 2023-09-18 version (arm64)
8+
FROM jupyter/pyspark-notebook@sha256:8b143afc893bb1838c608e6b3bc863d2a07e79c1ebac8a12c2f59b64bbeb195c
79

810
LABEL Vincent Nijs "[email protected]"
911

@@ -29,11 +31,12 @@ RUN apt-get update -qq && apt-get -y --no-install-recommends install \
2931
rsync \
3032
lsb-release \
3133
libcurl4-openssl-dev \
32-
git
34+
git \
35+
netcat
3336

34-
ENV CMDSTAN_VERSION="2.32.2"
35-
ENV PANDAS_VERSION="2.0.2"
36-
ENV PYARROW_VERSION="12.0.0"
37+
ENV CMDSTAN_VERSION="2.33.1"
38+
ENV PANDAS_VERSION="2.1.1"
39+
ENV PYARROW_VERSION="13.0.0"
3740
RUN mamba install --quiet --yes -c conda-forge \
3841
pandas=${PANDAS_VERSION} \
3942
cmdstan=${CMDSTAN_VERSION} \
@@ -65,11 +68,8 @@ RUN mamba install --quiet --yes -c conda-forge \
6568
black \
6669
isort \
6770
nltk \
68-
jupyterlab-git \
69-
jupyterlab-spellchecker \
7071
jupyter-server-proxy \
7172
jupyter-rsession-proxy \
72-
jupyterlab-system-monitor \
7373
streamlit \
7474
xlrd \
7575
openpyxl \
@@ -90,8 +90,8 @@ RUN chmod 755 setup.sh \
9090
&& rm setup.sh
9191

9292
# make system (conda) R the first choice
93-
# ENV R_VERSION=4.3.0
94-
ENV R_VERSION=4.2.3
93+
ENV R_VERSION=4.3.1
94+
# ENV R_VERSION=4.2.3
9595
ENV TERM=xterm
9696
ENV R_HOME=/opt/conda/lib/R
9797
ENV PATH="/usr/local/bin:$PATH"
@@ -143,10 +143,10 @@ RUN chmod +x setup.sh \
143143
&& rm setup.sh
144144

145145
# tooling for Bayesian Machine Learning class
146-
COPY files/setup-bml.sh setup.sh
147-
RUN chmod +x setup.sh \
148-
&& ./setup.sh \
149-
&& rm setup.sh
146+
# COPY files/setup-bml.sh setup.sh
147+
# RUN chmod +x setup.sh \
148+
# && ./setup.sh \
149+
# && rm setup.sh
150150

151151
# adding postgres
152152
# mostly from https://docs.docker.com/engine/examples/postgresql_service/
@@ -194,6 +194,10 @@ RUN addgroup ${NB_USER} postgres \
194194
&& chown -R postgres:postgres /etc/postgresql/${POSTGRES_VERSION}/main/ \
195195
&& fix-permissions /etc/postgresql/${POSTGRES_VERSION}/main/
196196

197+
# from https://github.com/ucsd-ets/rsm-msba-datahub/blob/master/Dockerfile
198+
# RUN chmod -R 777 /etc/postgresql/${POSTGRES_VERSION}
199+
# RUN chmod -R 777 /var/lib/postgresql/
200+
197201
# oh-my-zsh (need to install wget and curl again ...)
198202
RUN apt-get update -qq && apt-get -y --no-install-recommends install wget curl \
199203
&& sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \
@@ -209,7 +213,7 @@ COPY files/p10k.zsh /etc/skel/.p10k.zsh
209213
COPY files/usethis /usr/local/bin/usethis
210214
COPY files/clean.sh /usr/local/bin/clean
211215

212-
# settings for local install of python packages
216+
# settings for local install of python packages
213217
ARG PYBASE=/home/${NB_USER}/.rsm-msba
214218
ENV PYBASE=${PYBASE}
215219
ENV PYTHONUSERBASE=${PYBASE} \
@@ -286,10 +290,14 @@ RUN chmod +x setup.sh \
286290
&& ./setup.sh \
287291
&& rm setup.sh
288292

289-
# install latest version of gitgadget
290-
RUN R -e 'remotes::install_github("vnijs/gitgadget", upgrade = "never")'
293+
# SSH login fix, otherwise user gets kicked off after login
294+
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd \
295+
&& mkdir -p /var/run/sshd \
296+
&& ssh-keygen -A \
297+
&& echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config \
298+
&& echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
291299

292-
EXPOSE 8181 8282 8765 8989 8501 8000 6006
300+
EXPOSE 22 8181 8282 8765 8989 8501 8000
293301
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
294302

295303
# Switch back to jovyan to avoid accidental container runs as root

rsm-msba-intel/Dockerfile

+31-18
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
# python 3.11 version posted on 6-13-2023 (arm64)
44
# FROM jupyter/pyspark-notebook@sha256:c05345a6d72b5a12ba38a77e07681eb704a027fdbe7fc622a36fb2cc801db11c
55
# python 3.11 version posted on 6-25-2023 (amd64)
6-
FROM jupyter/pyspark-notebook@sha256:cc4e4a6d19b0e05124e6340473346acfcd9bafb27bfcba153644810041a99c4d
6+
# FROM jupyter/pyspark-notebook@sha256:cc4e4a6d19b0e05124e6340473346acfcd9bafb27bfcba153644810041a99c4d
7+
# 2023-09-18 version (amd64)
8+
FROM jupyter/pyspark-notebook@sha256:a66f0b98a323c274097fbbf4fbbacb3b90edcffea1aa279579b17b6f1003798c
79

810
LABEL Vincent Nijs "[email protected]"
911

@@ -29,11 +31,12 @@ RUN apt-get update -qq && apt-get -y --no-install-recommends install \
2931
rsync \
3032
lsb-release \
3133
libcurl4-openssl-dev \
32-
git
34+
git \
35+
netcat
3336

34-
ENV CMDSTAN_VERSION="2.32.2"
35-
ENV PANDAS_VERSION="2.0.2"
36-
ENV PYARROW_VERSION="12.0.0"
37+
ENV CMDSTAN_VERSION="2.33.1"
38+
ENV PANDAS_VERSION="2.1.1"
39+
ENV PYARROW_VERSION="13.0.0"
3740
RUN mamba install --quiet --yes -c conda-forge \
3841
pandas=${PANDAS_VERSION} \
3942
cmdstan=${CMDSTAN_VERSION} \
@@ -65,11 +68,8 @@ RUN mamba install --quiet --yes -c conda-forge \
6568
black \
6669
isort \
6770
nltk \
68-
jupyterlab-git \
69-
jupyterlab-spellchecker \
7071
jupyter-server-proxy \
7172
jupyter-rsession-proxy \
72-
jupyterlab-system-monitor \
7373
streamlit \
7474
xlrd \
7575
openpyxl \
@@ -90,8 +90,8 @@ RUN chmod 755 setup.sh \
9090
&& rm setup.sh
9191

9292
# make system (conda) R the first choice
93-
# ENV R_VERSION=4.3.0
94-
ENV R_VERSION=4.2.3
93+
ENV R_VERSION=4.3.1
94+
# ENV R_VERSION=4.2.3
9595
ENV TERM=xterm
9696
ENV R_HOME=/opt/conda/lib/R
9797
ENV PATH="/usr/local/bin:$PATH"
@@ -114,8 +114,6 @@ RUN mamba install --quiet --yes -c conda-forge \
114114
&& ln -s /opt/conda/bin/R /usr/local/bin/R \
115115
&& ln -s /opt/conda/bin/Rscript /usr/local/bin/Rscript
116116

117-
118-
119117
# not available through conda-forge for both arm and amd
120118
# or the conda version is causing issues
121119
RUN pip install \
@@ -128,6 +126,8 @@ RUN pip install \
128126
shiny \
129127
pyrsm
130128

129+
# catboost # not available for arm64
130+
131131
RUN echo "R_LIBS_USER='~/.rsm-msba/R/${R_VERSION}'" >> ${R_HOME}/etc/Renviron.site
132132
RUN echo '.libPaths(unique(c(Sys.getenv("R_LIBS_USER"), .libPaths())))' >> ${R_HOME}/etc/Rprofile.site
133133

@@ -143,10 +143,10 @@ RUN chmod +x setup.sh \
143143
&& rm setup.sh
144144

145145
# tooling for Bayesian Machine Learning class
146-
COPY files/setup-bml.sh setup.sh
147-
RUN chmod +x setup.sh \
148-
&& ./setup.sh \
149-
&& rm setup.sh
146+
# COPY files/setup-bml.sh setup.sh
147+
# RUN chmod +x setup.sh \
148+
# && ./setup.sh \
149+
# && rm setup.sh
150150

151151
# adding postgres
152152
# mostly from https://docs.docker.com/engine/examples/postgresql_service/
@@ -194,6 +194,10 @@ RUN addgroup ${NB_USER} postgres \
194194
&& chown -R postgres:postgres /etc/postgresql/${POSTGRES_VERSION}/main/ \
195195
&& fix-permissions /etc/postgresql/${POSTGRES_VERSION}/main/
196196

197+
# from https://github.com/ucsd-ets/rsm-msba-datahub/blob/master/Dockerfile
198+
# RUN chmod -R 777 /etc/postgresql/${POSTGRES_VERSION}
199+
# RUN chmod -R 777 /var/lib/postgresql/
200+
197201
# oh-my-zsh (need to install wget and curl again ...)
198202
RUN apt-get update -qq && apt-get -y --no-install-recommends install wget curl \
199203
&& sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" \
@@ -209,7 +213,7 @@ COPY files/p10k.zsh /etc/skel/.p10k.zsh
209213
COPY files/usethis /usr/local/bin/usethis
210214
COPY files/clean.sh /usr/local/bin/clean
211215

212-
# settings for local install of python packages
216+
# settings for local install of python packages
213217
ARG PYBASE=/home/${NB_USER}/.rsm-msba
214218
ENV PYBASE=${PYBASE}
215219
ENV PYTHONUSERBASE=${PYBASE} \
@@ -286,7 +290,16 @@ RUN chmod +x setup.sh \
286290
&& ./setup.sh \
287291
&& rm setup.sh
288292

289-
EXPOSE 8181 8282 8765 8989 8501 8000 6006
293+
# SSH login fix, otherwise user gets kicked off after login
294+
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd \
295+
&& mkdir -p /var/run/sshd \
296+
&& ssh-keygen -A \
297+
&& echo 'PasswordAuthentication no' >> /etc/ssh/sshd_config \
298+
&& echo 'PermitRootLogin no' >> /etc/ssh/sshd_config
299+
300+
# && echo 'jovyan:rady-msba' | chpasswd \
301+
302+
EXPOSE 22 8181 8282 8765 8989 8501 8000
290303
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
291304

292305
# Switch back to jovyan to avoid accidental container runs as root

scripts/build-images.sh

+2-3
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,8 @@ docker login
3333
# curl --silent -L "https://github.com/docker/buildx/releases/download/v0.6.3/buildx-v0.6.3.linux-arm64" > ~/.docker/cli-plugins/docker-buildx
3434
# chmod a+x ~/.docker/cli-plugins/docker-buildx
3535

36-
DOCKERHUB_VERSION=2.7.0
37-
JHUB_VERSION=2.7.0
38-
# JHUB_VERSION=2.6.5
36+
DOCKERHUB_VERSION=2.8.0
37+
JHUB_VERSION=2.8.0
3938
DOCKERHUB_USERNAME=vnijs
4039
UPLOAD="NO"
4140
UPLOAD="YES"

0 commit comments

Comments
 (0)