enable all image build (CI)
This commit is contained in:
parent
c9a4a4e81c
commit
e99edf28fb
116
.gitea/workflows/Build.yaml
Normal file
116
.gitea/workflows/Build.yaml
Normal file
@ -0,0 +1,116 @@
|
||||
name: Build
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
runs-on: runner
|
||||
steps:
|
||||
- name: switch mirror
|
||||
run: sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
|
||||
|
||||
- name: setup node & git & CA
|
||||
run: apk update && apk add nodejs git ca-certificates docker
|
||||
|
||||
- name: checkout code
|
||||
uses: https://eoelab.org:1027/actions/checkout@v4
|
||||
|
||||
- name: login gitea_registry
|
||||
uses: https://eoelab.org:1027/actions/login-action@v3
|
||||
with:
|
||||
registry: eoelab.org:1027
|
||||
username: ${{ secrets.USERNAME }}
|
||||
password: ${{ secrets.PASSWD }}
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: python/cpu
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: scrpy
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:scrpy
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: scipy/cpu
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:scipy-c
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: pyai/cpu
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:pyai-c
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: pyspark
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:pyspark
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: pyflink
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:pyflink
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: julia
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:julia
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: r
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:r
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: novnc
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:novnc
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: pyqt6
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:pyqt6
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: octave
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:octave
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: sagemath
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:sage
|
||||
|
||||
- name: build & push image
|
||||
uses: https://eoelab.org:1027/actions/build-push-action@v6
|
||||
with:
|
||||
push: true
|
||||
context: scilab
|
||||
tags: eoelab.org:1027/ben0i0d/jupyter:scilab
|
||||
|
||||
|
15
README.md
15
README.md
@ -13,7 +13,7 @@ English | [中文](README_CN.md)
|
||||
* No data is used persistently:`docker run -d -p 8888:8888 docker.io/ben0i0d/jupyter:<tag>`
|
||||
* Provide data for persistent use:`docker run -d -p 8888:8888 -v "${PWD}":/home/jovyan docker.io/ben0i0d/jupyter:<tag>`
|
||||
|
||||
**Jupyterhub**
|
||||
**Jupyterhub on K8S**
|
||||
Specify the image in the profile of the singleuser
|
||||
```
|
||||
- description: SCIPython, for scientific research and engineering applications.
|
||||
@ -21,6 +21,13 @@ Specify the image in the profile of the singleuser
|
||||
kubespawner_override:
|
||||
image: docker.io/ben0i0d/jupyter:scipy-c
|
||||
```
|
||||
|
||||
**Jupyterhub on Docker**
|
||||
```
|
||||
c.DockerSpawner.allowed_images = {
|
||||
'Python': 'ben0i0d/jupyter:py-c'
|
||||
}
|
||||
```
|
||||
### Global description
|
||||
1. If you build or fork the image yourself, replace the base image in the Dockerfile with the image on DockerHub
|
||||
2. For commercial software such as Mathematica, MATLAB, etc., we only provide packaging, and the specific activation method and possible consequences are borne by the user
|
||||
@ -28,9 +35,8 @@ Specify the image in the profile of the singleuser
|
||||
* Upstream: Mirror upstream, benchmarking against the jupyter official minimal-notebook image
|
||||
* Description
|
||||
1. Upstream has switched to `debian:bookworm-slim`, and GPU upstream images are also built based on `debian:bookworm`
|
||||
2. By default, we add the domain certificate of eoelab.org, which does not pose any security issues
|
||||
3. Sudo is added for passwordless use. In scenarios with high security requirements, do not allow privilege escalation
|
||||
4. Provided packages: file compression/extraction (.zip), project management (git), Chinese fonts (fonts-wqy-zenhei)
|
||||
2. Sudo is added for passwordless use. In scenarios with high security requirements, do not allow privilege escalation
|
||||
3. Provided packages: file compression/extraction (.zip), project management (git), Chinese fonts (fonts-wqy-zenhei)
|
||||
* Python: Supports Python , combining Python syntax with the ecosystem for production and research.
|
||||
* Scipy: Provides a scientific computing environment for Python, offering rich numerical computation, optimization, signal processing, statistical analysis, etc., for scientific research and engineering applications.
|
||||
* Scrpy: Provides a web scraping environment for Python, used for extracting data from the internet, automating information gathering and analysis tasks, suitable for data mining, web scraping, and business intelligence collection applications.
|
||||
@ -74,7 +80,6 @@ graph LR
|
||||
Python-->PROGRAM{PROGRAMLANG}
|
||||
PROGRAM-->PB(R)
|
||||
PROGRAM-->PC(Julia)
|
||||
PROGRAM-->PR(mojo)
|
||||
Python-->PRA(Scipy)
|
||||
Python-->PRB(Scrpy)
|
||||
PRA-->PRAA(pyai)
|
||||
|
15
README_CN.md
15
README_CN.md
@ -13,7 +13,7 @@ English | [中文](README_CN.md)
|
||||
* 没有数据持久化地使用:`docker run -d -p 8888:8888 docker.io/ben0i0d/jupyter:<tag>`
|
||||
* 提供数据持久化地使用:`docker run -d -p 8888:8888 -v "${PWD}":/home/jovyan docker.io/ben0i0d/jupyter:<tag>`
|
||||
|
||||
**Jupyterhub**
|
||||
**Jupyterhub on K8S**
|
||||
在singleuser内的profile指定镜像
|
||||
```
|
||||
- description: 提供Python的科学计算环境,提供了丰富的数值计算、优化、信号处理、统计分析等功能,用于科学研究和工程应用。
|
||||
@ -21,6 +21,13 @@ English | [中文](README_CN.md)
|
||||
kubespawner_override:
|
||||
image: docker.io/ben0i0d/jupyter:scipy-c
|
||||
```
|
||||
|
||||
**Jupyterhub on Docker**
|
||||
```
|
||||
c.DockerSpawner.allowed_images = {
|
||||
'Python': 'ben0i0d/jupyter:py-c'
|
||||
}
|
||||
```
|
||||
### 全局说明
|
||||
1. 如果自行构建或派生,替换dockerfile中的基础镜像为dockerhub上的镜像
|
||||
2. 对于例如Mathematica,MATLAB等商业软件,我们只提供打包,具体激活方式及可能带来的后果由用户承担
|
||||
@ -36,9 +43,8 @@ plt.rcParams["font.family"] = zh_font.get_name()
|
||||
* Upstream: 镜像上游,对标jupyter官方的minimal-notebook镜像
|
||||
* 说明
|
||||
1. 上游已经切换到`debian:bookworm-slim`,GPU上游镜像也基于`debian:bookworm`二次构建了镜像
|
||||
2. 默认情况下我们添加了eoelab.org的域名证书,这不会带来安全问题
|
||||
3. 添加了sudo的无密码使用,在安全要求较高的场景中,不要允许特权提升
|
||||
4. 提供软件包:文件压缩/解压(.zip),项目管理(git),中文字体(fonts-wqy-zenhei)
|
||||
2. 添加了sudo的无密码使用,在安全要求较高的场景中,不要允许特权提升
|
||||
3. 提供软件包:文件压缩/解压(.zip),项目管理(git),中文字体(fonts-wqy-zenhei)
|
||||
* Llinux(With Desktop-GUI):在无特权的情况下学习Linux系统,提供Xfce桌面支持
|
||||
* Python:支持Python,通过将python语法与生态系统相结合进行生产与研究。
|
||||
* Scipy:提供Python的科学计算环境,提供了丰富的数值计算、优化、信号处理、统计分析等功能,用于科学研究和工程应用。
|
||||
@ -82,7 +88,6 @@ graph LR
|
||||
Python-->PROGRAM{PROGRAMLANG}
|
||||
PROGRAM-->PB(R)
|
||||
PROGRAM-->PC(Julia)
|
||||
PROGRAM-->PR(mojo)
|
||||
Python-->PRA(Scipy)
|
||||
Python-->PRB(Scrpy)
|
||||
PRA-->PRAA(pyai)
|
||||
|
27
build.sh
27
build.sh
@ -1,27 +0,0 @@
|
||||
# auto build image
|
||||
|
||||
remote="docker.io/ben0i0d/jupyter"
|
||||
|
||||
arch="amd64"
|
||||
|
||||
# Python
|
||||
source=(python/cpu python/gpu scipy/cpu scipy/gpu scrpy pyflink pyspark pyai/cpu pyai/gpu)
|
||||
target=(py-c py-g scipy-c scipy-g scrpy pyflink pyspark pyai-c pyai-g)
|
||||
|
||||
for arch in $arch; do
|
||||
for i in {0..9}; do
|
||||
podman build --arch=$arch -t $remote:${target[i]} ${source[i]}
|
||||
done
|
||||
done
|
||||
|
||||
# Other
|
||||
source=(julia maple mathematica matlab/minimal matlab/mcm sagemath octave r sagemath scilab)
|
||||
target=(julia maple mma matlab-minimal matlab-mcm sage octave r sage scilab)
|
||||
|
||||
for arch in $arch; do
|
||||
for i in {0..9}; do
|
||||
podman build --arch=$arch -t $remote:${target[i]} ${source[i]}
|
||||
done
|
||||
done
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c AS builder
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c AS builder
|
||||
|
||||
USER root
|
||||
|
||||
@ -6,12 +6,12 @@ USER root
|
||||
RUN apt-get update --yes && apt-get install --yes --no-install-recommends gnupg && apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||
pip --no-cache-dir install jill && jill install --confirm
|
||||
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
COPY --chown="${NB_UID}:${NB_GID}" --from=builder /opt/julias/ /opt/julias/
|
||||
|
||||
ENV JULIA_PKG_SERVER=https://mirrors.cernet.edu.cn/julia \
|
||||
JULIA_NUM_THREADS=12
|
||||
JULIA_NUM_THREADS=8
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c AS builder
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c AS builder
|
||||
|
||||
COPY Maple2024.0LinuxX64Installer.run .
|
||||
|
||||
@ -7,7 +7,7 @@ USER root
|
||||
RUN chmod +x Maple2024.0LinuxX64Installer.run && \
|
||||
./Maple2024.0LinuxX64Installer.run --mode unattended --installer-language en --installdir /opt/maple --desktopshortcut 0 && rm Maple2024.0LinuxX64Installer.run
|
||||
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
ENV PATH="${PATH}:/opt/maple/bin"
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c AS builder
|
||||
FROM eoalab.org:1027/ben0i0d/jupyter:py-c AS builder
|
||||
|
||||
COPY Mathematica_14.0.0_LINUX.sh .
|
||||
|
||||
@ -9,7 +9,7 @@ RUN apt-get update --yes && apt-get install --yes --no-install-recommends xz-uti
|
||||
|
||||
RUN git clone --depth 1 https://github.com/WolframResearch/WolframLanguageForJupyter.git && mv WolframLanguageForJupyter /opt
|
||||
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoalab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
ENV PATH="${PATH}:/opt/Wolfram/Mathematica/14.0/Executables/"
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:matlab-minimal
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:matlab-minimal
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyte:py-c
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoalab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
# Install Octave + graph_toolkit
|
||||
|
17
push.sh
17
push.sh
@ -1,17 +0,0 @@
|
||||
# auto push image
|
||||
|
||||
remote="docker.io/ben0i0d/jupyter"
|
||||
|
||||
# Python
|
||||
target=(py-c py-g scipy-c scipy-g scrpy pyflink pyspark pyai-c pyai-g)
|
||||
|
||||
for i in {0..9}; do
|
||||
podman push $remote:${target[i]}
|
||||
done
|
||||
|
||||
# Other
|
||||
target=(julia maple mma matlab-minimal matlab-mcm sage octave r sage scilab)
|
||||
|
||||
for i in {0..9}; do
|
||||
podman push $remote:${target[i]}
|
||||
done
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:scipy-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:scipy-c
|
||||
|
||||
# install torch
|
||||
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu && \
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:scipy-g
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:scipy-g
|
||||
|
||||
# install torch transformers
|
||||
RUN pip install torch torchvision torchaudio && \
|
||||
|
@ -1,14 +1,14 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c AS builder
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c AS builder
|
||||
|
||||
USER root
|
||||
# You need to use https://archive.apache.org/dist/ website if you want to download old Spark versions
|
||||
# But it seems to be slower, that's why we use recommended site for download
|
||||
RUN apt-get update --yes && apt-get install --yes --no-install-recommends wget && \
|
||||
apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||
wget -qO "flink.tgz" "https://mirrors.ustc.edu.cn/apache/flink/flink-1.19.0/flink-1.19.0-bin-scala_2.12.tgz" && \
|
||||
wget -qO "flink.tgz" "https://mirrors.ustc.edu.cn/apache/flink/flink-1.20.0/flink-1.20.0-bin-scala_2.12.tgz" && \
|
||||
tar xzf "flink.tgz" -C /usr/local --no-same-owner && rm "flink.tgz"
|
||||
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
@ -16,11 +16,11 @@ USER root
|
||||
ENV FLINK_HOME=/usr/local/flink \
|
||||
PATH="${PATH}:/usr/local/flink/bin"
|
||||
|
||||
COPY --from=builder --chown="${NB_UID}:${NB_GID}" /usr/local/flink-1.19.0/ /usr/local/flink-1.19.0/
|
||||
COPY --from=builder --chown="${NB_UID}:${NB_GID}" /usr/local/flink-1.20.0/ /usr/local/flink-1.20.0/
|
||||
|
||||
RUN apt-get update --yes && \
|
||||
apt-get install --yes --no-install-recommends openjdk-17-jre-headless ca-certificates-java && apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||
ln -s "flink-1.19.0" "/usr/local/flink"
|
||||
ln -s "flink-1.20.0" "/usr/local/flink"
|
||||
|
||||
USER ${NB_UID}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:novnc
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:novnc
|
||||
|
||||
# Combine ENV statements
|
||||
ENV LIBGL_ALWAYS_INDIRECT=1 \
|
||||
|
@ -1,14 +1,14 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c AS builder
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c AS builder
|
||||
|
||||
USER root
|
||||
# You need to use https://archive.apache.org/dist/ website if you want to download old Spark versions
|
||||
# But it seems to be slower, that's why we use recommended site for download
|
||||
RUN apt-get update --yes && apt-get install --yes --no-install-recommends wget && \
|
||||
apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||
wget -qO "spark.tgz" "https://mirrors.ustc.edu.cn/apache/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz" && \
|
||||
wget -qO "spark.tgz" "https://mirrors.ustc.edu.cn/apache/spark/spark-3.5.3/spark-3.5.3-bin-hadoop3.tgz" && \
|
||||
tar xzf "spark.tgz" -C /usr/local --no-same-owner && rm "spark.tgz"
|
||||
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
@ -19,11 +19,11 @@ ENV SPARK_OPTS="--driver-java-options=-Xms1024M --driver-java-options=-Xmx4096M
|
||||
|
||||
# Configure IPython system-wide
|
||||
COPY ipython_kernel_config.py "/etc/ipython/"
|
||||
COPY --chown="root:root" --from=builder /usr/local/spark-3.5.1-bin-hadoop3/ /usr/local/spark-3.5.1-bin-hadoop3/
|
||||
COPY --chown="root:root" --from=builder /usr/local/spark-3.5.3-bin-hadoop3/ /usr/local/spark-3.5.3-bin-hadoop3/
|
||||
|
||||
RUN apt-get update --yes && \
|
||||
apt-get install --yes --no-install-recommends openjdk-17-jre-headless ca-certificates-java && apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||
ln -s "spark-3.5.1-bin-hadoop3" "/usr/local/spark" && \
|
||||
ln -s "spark-3.5.3-bin-hadoop3" "/usr/local/spark" && \
|
||||
# Add a link in the before_notebook hook in order to source automatically PYTHONPATH
|
||||
mkdir -p /usr/local/bin/before-notebook.d && \
|
||||
ln -s "/usr/local/spark/sbin/spark-config.sh" /usr/local/bin/before-notebook.d/spark-config.sh
|
||||
|
@ -13,8 +13,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
|
||||
HOME="/home/jovyan"
|
||||
|
||||
# Copy files
|
||||
COPY cert/cert.pem /usr/local/share/ca-certificates/eoelab.org.crt
|
||||
COPY conf/pip.conf conf/profile /etc/
|
||||
COPY conf/profile /etc/
|
||||
COPY start-sh/* /usr/local/bin/
|
||||
COPY conf/jupyter_server_config.py /etc/jupyter/
|
||||
|
||||
@ -26,7 +25,8 @@ RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debi
|
||||
usermod -aG sudo "${NB_USER}" && echo "${NB_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||
mkdir -p "/opt/base/" && python3 -m venv /opt/base && chown -hR "${NB_USER}:${NB_GID}" "/opt/base" && \
|
||||
chmod g+w /etc/passwd && \
|
||||
mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d
|
||||
mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d && \
|
||||
echo '[global]\nindex-url = https://mirrors.bfsu.edu.cn/pypi/web/simple' > /etc/pip.conf
|
||||
|
||||
USER ${NB_UID}
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEFjCCAv6gAwIBAgISA/QR6+r+qZqbPeKWymC2VIWZMA0GCSqGSIb3DQEBCwUA
|
||||
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
|
||||
EwJSMzAeFw0yMzEwMzAwOTE3MDBaFw0yNDAxMjgwOTE2NTlaMBUxEzARBgNVBAMT
|
||||
CmVvZWxhYi5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxTn510qZDXR/M
|
||||
407/klamsiezss1imkPQb14lAaIIoCmRBvNY+d0phYGbZVMXmsNVWiffHKl8h47U
|
||||
eXbkeXAzo4ICDDCCAggwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQuOf5u46dHUhib
|
||||
qq46J0ln4SNM2DAfBgNVHSMEGDAWgBQULrMXt1hWy65QCUDmH6+dixTCxjBVBggr
|
||||
BgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9yMy5vLmxlbmNyLm9yZzAi
|
||||
BggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iub3JnLzAVBgNVHREEDjAMggpl
|
||||
b2VsYWIub3JnMBMGA1UdIAQMMAowCAYGZ4EMAQIBMIIBBAYKKwYBBAHWeQIEAgSB
|
||||
9QSB8gDwAHYAO1N3dT4tuYBOizBbBv5AO2fYT8P0x70ADS1yb+H61BcAAAGLgBYy
|
||||
QwAABAMARzBFAiAQBsK6jhexd3UKR91TvV8huicumg8hYmtYwEDNiAIUwQIhAPqW
|
||||
BLXwNPItxuAmBWpDuP73FsZkjufD1d9clFk7oW4jAHYA7s3QZNXbGs7FXLedtM0T
|
||||
ojKHRny87N7DUUhZRnEftZsAAAGLgBYyQAAABAMARzBFAiBNKBL8obiYPP+K28sL
|
||||
dO35J42slhpHegIujq8wOiXPdAIhAPLs0qscCxyfxW760xFH/RPJbVP6cthEUfA9
|
||||
l56Sn6dbMA0GCSqGSIb3DQEBCwUAA4IBAQB/4sMOCngPhR26Ywd7+LiCis2JeOv5
|
||||
YKhT/3TvzhyUj9oba4YROLm2unTKounqVAqclQDgQHkb7RmpfmkvpI8To3JeTmLR
|
||||
2akmOZ8FIviRtAuw3lZ0w6Qs0UWRFAbIeOlJhWTiUJemNklWnUdRLeDR1hKMzDfv
|
||||
U1d6yvXoUUuFIhBALNzrdIbTb6Lk6J1ULk8LJlBX4nHlnSrQGlw7/8Baop2cdirD
|
||||
vCquiZDS+MmBS/1Ugr1/B8egRuvzOQ74fyA1Z1T3FDVKgguMetY3MxcXuqvdLanT
|
||||
M23076OmVaHJq6YJAEfYUfZ3zFHC55hI1Tl7TPSghVBn3oE2H11n+lzt
|
||||
-----END CERTIFICATE-----
|
@ -1,3 +0,0 @@
|
||||
[global]
|
||||
index-url = https://mirrors.bfsu.edu.cn/pypi/web/simple
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM ben0i0d/cuda:12.2.0-devel-debian12
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
EXPOSE 8888
|
||||
|
||||
@ -13,8 +13,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
|
||||
HOME="/home/jovyan"
|
||||
|
||||
# Copy files
|
||||
COPY cert/cert.pem /usr/local/share/ca-certificates/eoelab.org.crt
|
||||
COPY conf/pip.conf conf/profile /etc/
|
||||
COPY conf/profile /etc/
|
||||
COPY start-sh/* /usr/local/bin/
|
||||
COPY conf/jupyter_server_config.py /etc/jupyter/
|
||||
|
||||
@ -26,7 +25,8 @@ RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debi
|
||||
usermod -aG sudo "${NB_USER}" && echo "${NB_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||
mkdir -p "/opt/base/" && python3 -m venv /opt/base && chown -hR "${NB_USER}:${NB_GID}" "/opt/base" && \
|
||||
chmod g+w /etc/passwd && \
|
||||
mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d
|
||||
mkdir /usr/local/bin/start-notebook.d && mkdir /usr/local/bin/before-notebook.d && \
|
||||
echo '[global]\nindex-url = https://mirrors.bfsu.edu.cn/pypi/web/simple' > /etc/pip.conf
|
||||
|
||||
USER ${NB_UID}
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEFjCCAv6gAwIBAgISA/QR6+r+qZqbPeKWymC2VIWZMA0GCSqGSIb3DQEBCwUA
|
||||
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
|
||||
EwJSMzAeFw0yMzEwMzAwOTE3MDBaFw0yNDAxMjgwOTE2NTlaMBUxEzARBgNVBAMT
|
||||
CmVvZWxhYi5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxTn510qZDXR/M
|
||||
407/klamsiezss1imkPQb14lAaIIoCmRBvNY+d0phYGbZVMXmsNVWiffHKl8h47U
|
||||
eXbkeXAzo4ICDDCCAggwDgYDVR0PAQH/BAQDAgeAMB0GA1UdJQQWMBQGCCsGAQUF
|
||||
BwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQuOf5u46dHUhib
|
||||
qq46J0ln4SNM2DAfBgNVHSMEGDAWgBQULrMXt1hWy65QCUDmH6+dixTCxjBVBggr
|
||||
BgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9yMy5vLmxlbmNyLm9yZzAi
|
||||
BggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iub3JnLzAVBgNVHREEDjAMggpl
|
||||
b2VsYWIub3JnMBMGA1UdIAQMMAowCAYGZ4EMAQIBMIIBBAYKKwYBBAHWeQIEAgSB
|
||||
9QSB8gDwAHYAO1N3dT4tuYBOizBbBv5AO2fYT8P0x70ADS1yb+H61BcAAAGLgBYy
|
||||
QwAABAMARzBFAiAQBsK6jhexd3UKR91TvV8huicumg8hYmtYwEDNiAIUwQIhAPqW
|
||||
BLXwNPItxuAmBWpDuP73FsZkjufD1d9clFk7oW4jAHYA7s3QZNXbGs7FXLedtM0T
|
||||
ojKHRny87N7DUUhZRnEftZsAAAGLgBYyQAAABAMARzBFAiBNKBL8obiYPP+K28sL
|
||||
dO35J42slhpHegIujq8wOiXPdAIhAPLs0qscCxyfxW760xFH/RPJbVP6cthEUfA9
|
||||
l56Sn6dbMA0GCSqGSIb3DQEBCwUAA4IBAQB/4sMOCngPhR26Ywd7+LiCis2JeOv5
|
||||
YKhT/3TvzhyUj9oba4YROLm2unTKounqVAqclQDgQHkb7RmpfmkvpI8To3JeTmLR
|
||||
2akmOZ8FIviRtAuw3lZ0w6Qs0UWRFAbIeOlJhWTiUJemNklWnUdRLeDR1hKMzDfv
|
||||
U1d6yvXoUUuFIhBALNzrdIbTb6Lk6J1ULk8LJlBX4nHlnSrQGlw7/8Baop2cdirD
|
||||
vCquiZDS+MmBS/1Ugr1/B8egRuvzOQ74fyA1Z1T3FDVKgguMetY3MxcXuqvdLanT
|
||||
M23076OmVaHJq6YJAEfYUfZ3zFHC55hI1Tl7TPSghVBn3oE2H11n+lzt
|
||||
-----END CERTIFICATE-----
|
@ -1,3 +0,0 @@
|
||||
[global]
|
||||
index-url = https://mirrors.bfsu.edu.cn/pypi/web/simple
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
ENV BASE_DIR=/opt/base
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
|
@ -1,12 +1,12 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
# Install Python 3 packages
|
||||
RUN pip install \
|
||||
# Data analysis and visualization
|
||||
'pandas' 'matplotlib' \
|
||||
'matplotlib' \
|
||||
# Machine learning and data mining
|
||||
'scikit-learn' \
|
||||
'duckdb' \
|
||||
# Scientific calculations and statistical analysis
|
||||
'scipy' 'numpy' &&\
|
||||
'numpy' &&\
|
||||
pip cache purge && \
|
||||
MPLBACKEND=Agg python -c "import matplotlib.pyplot"
|
||||
|
@ -1,12 +1,12 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-g
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-g
|
||||
|
||||
# Install Python 3 packages
|
||||
RUN pip install \
|
||||
RUN pip install \
|
||||
# Data analysis and visualization
|
||||
'pandas' 'matplotlib' \
|
||||
'matplotlib' \
|
||||
# Machine learning and data mining
|
||||
'scikit-learn' \
|
||||
'duckdb' \
|
||||
# Scientific calculations and statistical analysis
|
||||
'scipy' 'numpy' &&\
|
||||
pip cache purge && \
|
||||
'numpy' &&\
|
||||
pip cache purge && \
|
||||
MPLBACKEND=Agg python -c "import matplotlib.pyplot"
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM docker.io/ben0i0d/jupyter:py-c
|
||||
FROM eoelab.org:1027/ben0i0d/jupyter:py-c
|
||||
|
||||
USER root
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user