2024-03-17 15:40:43 +08:00
# jupyter-image-stacks
2024-03-29 12:17:56 +08:00
2024-10-02 12:11:34 +08:00
## Universal Jupyterlab Image stacks
2024-04-12 16:19:54 +08:00
2024-03-29 12:17:56 +08:00
English | [中文 ](README_CN.md )
**THIS doc for non-CN USER**
2024-12-10 02:21:56 +08:00
**ghcr.io: https://github.com/eoeair/jupyter/pkgs/container/jupyter**
2024-10-31 17:20:01 +08:00
2024-12-10 02:21:56 +08:00
**Our Gitea: https://eoelab.org:1027/eoeair/jupyter**
2024-04-11 21:05:01 +08:00
2024-03-29 12:17:56 +08:00
### HOW TO USE
2024-03-17 15:40:43 +08:00
**Docker**
2025-02-20 21:27:02 +08:00
* No data is used persistently: `docker run -d -p 8888:8888 ghcr.io/eoeair/jupyter:<tag>`
* Provide data for persistent use: `docker run -d -p 8888:8888 -v "${PWD}":/home/jovyan ghcr.io/eoeair/jupyter:<tag>`
2024-03-17 15:40:43 +08:00
2024-09-26 02:23:46 +08:00
**Jupyterhub on K8S**
2024-03-29 12:17:56 +08:00
Specify the image in the profile of the singleuser
2024-03-17 15:40:43 +08:00
```
2024-03-29 12:17:56 +08:00
- description: SCIPython, for scientific research and engineering applications.
2024-03-17 15:40:43 +08:00
display_name: Scipy
kubespawner_override:
2025-02-20 21:27:02 +08:00
image: ghcr.io/eoeair/jupyter:scipy
2024-03-17 15:40:43 +08:00
```
2024-09-26 02:23:46 +08:00
**Jupyterhub on Docker**
```
c.DockerSpawner.allowed_images = {
2025-02-20 21:27:02 +08:00
'Scipy': 'ghcr.io/eoeair/jupyter:scipy'
2024-09-26 02:23:46 +08:00
}
```
2024-03-29 12:17:56 +08:00
### 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
### List of images that are currently being built
2024-10-11 10:29:11 +08:00
* Base: benchmarking against the jupyter official minimal-notebook image
2024-03-29 12:17:56 +08:00
* Description
2025-01-19 23:05:27 +08:00
1. Upstream has switched to `debian:trixie-slim`
2024-09-26 02:23:46 +08:00
2. Sudo is added for passwordless use. In scenarios with high security requirements, do not allow privilege escalation
2024-10-05 14:15:26 +08:00
3. Provided packages: .zip extraction
2024-10-11 10:29:11 +08:00
* Python: Supports Python
* Scipy: Provides a scientific computing environment for Python
* Scrpy: Provides a web scraping environment for Python
* pyspark: Provides a Python-based Spark program
* pyflink: Provides a Python-based Flink program
* pyai (With GPU): Provides Pytorch
* Julia: Supports Julia
2024-03-29 12:17:56 +08:00
* Description:
2024-10-11 10:29:11 +08:00
1. Environment variable `JULIA_NUM_THREADS` in Julia image, please configure according to desired concurrency threads at startup, default is 8
2024-03-29 12:17:56 +08:00
* Maple: A mathematical software that provides a powerful mathematical engine through an intelligent file interface, enabling easy analysis, exploration, visualization, and solving of mathematical problems.
* Description
2024-04-27 14:37:45 +08:00
1. Upload `license.dat libmaple.so` to the main directory. Each time the environment is started, run `sudo cp license.dat /opt/maple/license && sudo cp libmaple.so /opt/maple/bin.X86_64_LINUX/` to activate before use.
2024-03-29 12:17:56 +08:00
* Mathematica: A scientific computing software that provides powerful and convenient features for data analysis, mathematical computation, and other fields.
* Description
2024-12-26 23:05:09 +08:00
1. Each time the environment is started, run `WolframKernel` to manually activate. View activation code at `https://paran3xus.github.io/2024/08/24/mathematica-14.1-crack/` . If activation fails multiple times, run `rm /home/jovyan/.Mathematica/Licensing/mathpass` to delete previous license records.
2024-04-15 14:40:56 +08:00
2. If you have an account, use web verification/online verification.
3. THIS IS NOT READY NOW , kernel is stuck connecting.
2024-03-29 12:17:56 +08:00
* MATLAB: A programming and numerical computing platform that supports data analysis, algorithm development, and modeling.
* Description
2024-04-14 21:49:17 +08:00
1. Upload `license.lic libmwlmgrimpl.so` to the main directory. Each time the environment is started, run `sudo cp license.lic /opt/matlab/r2023b/licenses/ && sudo cp libmwlmgrimpl.so /opt/matlab/r2023b/bin/glnxa64/matlab_startup_plugins/lmgrimpl/` to activate before use.
2024-04-15 14:40:56 +08:00
2. If you have an account, use web verification/online verification.
2024-03-29 12:17:56 +08:00
* minimal: Contains only `Product:MATLAB`
* mcm: Contains toolboxes required for mathematical modeling.
### List of plugins
**Global**
* jupyterlab-language-pack-zh-CN:Support for Chinese
2024-11-01 19:39:01 +08:00
* jupyterlab-lsp: It is used for autocompletion, parameter suggestion, function document query, and jump definition
2024-10-26 06:08:52 +08:00
* jupyterlab-execute-time: Displays the execution time of each cell
2024-11-02 17:30:30 +08:00
* jedi-language-server: Python Language server
2024-03-29 12:17:56 +08:00
**Part**
2024-11-02 17:30:30 +08:00
* R: r-languageserver: R Language server
* Julia: julia-language-server: Julia Language server
2024-03-29 12:17:56 +08:00
### Image dependencies
2024-03-17 15:40:43 +08:00
```mermaid
graph LR
2024-10-02 12:11:34 +08:00
Python-->P{PROGRAMLANG}
P-->PA(R)
P-->PB(Julia)
P-->PC(C)
P-->PD(Cpp)
2024-10-18 19:17:01 +08:00
P-->PE(Ansible)
P-->PF(Chapel)
P-->PG(Dyalog)
P-->PH(Fortran)
P-->PI(Go)
P-->PJ(Haskell)
P-->PK(Java)
P-->PL(Js)
P-->PM(Kotlin)
P-->PN(Lua)
2024-10-02 12:11:34 +08:00
Python-->G{GUI}-->GA(Novnc)-->GAA(Pyqt6)
Python-->S{Science-compute}-->SA(Scipy)
S-->SB(Pyai)
Python-->B{BigData}-->BA(pyspark)
B-->BB(pyflink)
B-->BC(Scrpy)
2024-10-18 19:17:01 +08:00
B-->BD(Sql)
2024-10-02 12:11:34 +08:00
Python-->M{MATH-TOOL}-->MA(Octave)
M-->MB(Maple)
M-->MC(Sagemath)
M-->MD(MATLAB-minimal)-->MDA(Matlab-mcm)
M-->ME(Mathematica)
M-->MF(Scilab)
2024-03-17 15:40:43 +08:00
```
2024-03-29 12:17:56 +08:00
## Upstream
2024-03-17 15:40:43 +08:00
2024-03-29 12:17:56 +08:00
**Package version**
2024-12-26 23:05:09 +08:00
* cuda 12.4.0
2025-03-11 00:44:01 +08:00
* Python 3.11
2024-04-12 10:51:46 +08:00
* Julia latest
2025-03-11 00:44:01 +08:00
* spark 3.5.5
2024-09-26 02:48:01 +08:00
* flink 1.20.0
2024-03-17 15:40:43 +08:00
* jupyterlab 4
* Matlab R2023b
2024-12-26 23:05:09 +08:00
* Mathematica 14.1
* Maple 2024.2
2024-03-17 15:40:43 +08:00
2024-10-31 17:20:01 +08:00
**Default Mirror source**
2024-03-17 15:40:43 +08:00
* pip bfsu: https://mirrors.bfsu.edu.cn/help/pypi/
* apt ustc: https://mirrors.ustc.edu.cn/help/debian.html
2024-04-16 21:18:03 +08:00
* apache ustc: https://mirrors.ustc.edu.cn/apache/
2024-10-31 17:20:01 +08:00
* julia-pkg mirrorz: https://mirrors.cernet.edu.cn/julia
2024-04-16 21:18:03 +08:00
* CRAN ustc: https://mirrors.ustc.edu.cn/CRAN/
2024-03-17 15:40:43 +08:00
2024-10-31 17:20:01 +08:00
***Now You can use ARG control which site you want***
2024-03-29 12:17:56 +08:00
### Upstream of the project
2024-04-11 21:13:55 +08:00
https://github.com/jupyter/docker-stacks
2024-03-17 15:40:43 +08:00
2024-03-29 12:17:56 +08:00
**However, we are quite different from the upstream in terms of sources, packages, localizations, extensions, etc., so if you have a problem with this project, please do not ask the Jupyter team questions, as it will increase their workload**
2024-03-17 15:40:43 +08:00
### kernel
* Python: https://ipython.org/
* Julia: https://github.com/JuliaLang/IJulia.jl
* R: http://irkernel.github.io/
* Octave: https://github.com/Calysto/octave_kernel
* MATLAB: https://github.com/mathworks/jupyter-matlab-proxy
2024-04-16 15:09:41 +08:00
* MMA: https://github.com/WolframResearch/WolframLanguageForJupyter
2024-04-11 21:05:01 +08:00
2024-03-29 12:17:56 +08:00
## Necessary copyright notice
2024-04-16 21:18:03 +08:00
For code derived from other teams, we added the original copyright notice to the file header, and we retain and support the copyrights of other development teams