add jupyter
This commit is contained in:
parent
20da2bb07a
commit
079713a638
3 changed files with 74 additions and 6 deletions
|
@ -6,6 +6,8 @@ on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '30 5 */10 * *'
|
- cron: '30 5 */10 * *'
|
||||||
|
|
||||||
|
env:
|
||||||
|
IMAGES: system-toolbox cloud-toolbox tor zabbix-agent snowflake jupyter
|
||||||
jobs:
|
jobs:
|
||||||
build-images-arm64:
|
build-images-arm64:
|
||||||
runs-on: [ arm64 ]
|
runs-on: [ arm64 ]
|
||||||
|
@ -19,8 +21,7 @@ jobs:
|
||||||
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
||||||
- name: Build selected images
|
- name: Build selected images
|
||||||
run: |
|
run: |
|
||||||
IMAGES=(system-toolbox cloud-toolbox tor zabbix-agent snowflake);
|
for image in "${IMAGES}";
|
||||||
for image in "${IMAGES[@]}";
|
|
||||||
do
|
do
|
||||||
echo "building image $image";
|
echo "building image $image";
|
||||||
podman build ./$image --tag forgejo.maciej.cloud/pkg/$image:arm64;
|
podman build ./$image --tag forgejo.maciej.cloud/pkg/$image:arm64;
|
||||||
|
@ -39,8 +40,7 @@ jobs:
|
||||||
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
||||||
- name: Build selected images
|
- name: Build selected images
|
||||||
run: |
|
run: |
|
||||||
IMAGES=(system-toolbox cloud-toolbox tor zabbix-agent snowflake);
|
for image in "${IMAGES}";
|
||||||
for image in "${IMAGES[@]}";
|
|
||||||
do
|
do
|
||||||
echo "building image $image";
|
echo "building image $image";
|
||||||
podman build ./$image --tag forgejo.maciej.cloud/pkg/$image:amd64;
|
podman build ./$image --tag forgejo.maciej.cloud/pkg/$image:amd64;
|
||||||
|
@ -57,8 +57,7 @@ jobs:
|
||||||
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
run: podman login -u "${{ secrets.PACKAGES_USERNAME }}" -p "${{ secrets.PACKAGES_PASSWD }}" forgejo.maciej.cloud
|
||||||
- name: Create manifests and push
|
- name: Create manifests and push
|
||||||
run: |
|
run: |
|
||||||
IMAGES=(system-toolbox cloud-toolbox tor zabbix-agent snowflake);
|
for image in "${IMAGES}";
|
||||||
for image in "${IMAGES[@]}";
|
|
||||||
do
|
do
|
||||||
echo "Updating manifest for $image";
|
echo "Updating manifest for $image";
|
||||||
podman manifest create forgejo.maciej.cloud/pkg/$image:latest forgejo.maciej.cloud/pkg/$image:amd64 forgejo.maciej.cloud/pkg/$image:arm64;
|
podman manifest create forgejo.maciej.cloud/pkg/$image:latest forgejo.maciej.cloud/pkg/$image:amd64 forgejo.maciej.cloud/pkg/$image:arm64;
|
||||||
|
|
20
README.md
20
README.md
|
@ -1,6 +1,26 @@
|
||||||
# Containers-Workspace
|
# Containers-Workspace
|
||||||
Various useful and useless Dockerfiles, often experimental and work in progress
|
Various useful and useless Dockerfiles, often experimental and work in progress
|
||||||
|
|
||||||
|
## jupyter
|
||||||
|
|
||||||
|
This is a custom image with jupyterlab and notebook installed.
|
||||||
|
|
||||||
|
Jupyter is running under root, for better possibilities of integration with
|
||||||
|
hardware (gpu, etc..) and for easier additional resources management
|
||||||
|
(dnf5 install, etc...)
|
||||||
|
|
||||||
|
There is also lsp environment prepared, with various lsp servers.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
podman run --rm -it \
|
||||||
|
-e JUPYTER_TOKEN=my-secret-token \
|
||||||
|
-v /some/path/conf:/root/.jupyter:z,rw \
|
||||||
|
-v /some/path/data:/jupyter/data:z,rw \
|
||||||
|
--name jupyter \
|
||||||
|
jupyter:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## system-toolbox
|
## system-toolbox
|
||||||
|
|
||||||
Fedora based container wih preinstalled many usefull tools for various debug and problem searching purposes
|
Fedora based container wih preinstalled many usefull tools for various debug and problem searching purposes
|
||||||
|
|
49
jupyter/Containerfile
Normal file
49
jupyter/Containerfile
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora-minimal:39
|
||||||
|
|
||||||
|
ENV VIRTUAL_ENV=/venv
|
||||||
|
ENV PATH=/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
ENV PKGS_DNF="python nodejs latex xelatex"
|
||||||
|
ENV PKGS_DNF_BUILD="cargo"
|
||||||
|
|
||||||
|
ENV PKGS_PIP="jupyter \
|
||||||
|
bash_kernel \
|
||||||
|
mariadb_kernel \
|
||||||
|
jedi-language-server \
|
||||||
|
jupyterlab-lsp \
|
||||||
|
python-lsp-server[all] \
|
||||||
|
JLDracula \
|
||||||
|
"
|
||||||
|
ENV PKGS_NPM="bash-language-server \
|
||||||
|
dockerfile-language-server-nodejs \
|
||||||
|
pyright \
|
||||||
|
sql-language-server \
|
||||||
|
typescript-language-server \
|
||||||
|
unified-language-server \
|
||||||
|
vscode-css-languageserver-bin \
|
||||||
|
vscode-html-languageserver-bin \
|
||||||
|
vscode-json-languageserver-bin \
|
||||||
|
yaml-language-server"
|
||||||
|
|
||||||
|
RUN dnf5 install -y ${PKGS_DNF} ${PKGS_DNF_BUILD} && \
|
||||||
|
mkdir /jupyter && \
|
||||||
|
cd /jupyter && \
|
||||||
|
npm install ${PKGS_NPM} && \
|
||||||
|
python3 -m venv /venv && \
|
||||||
|
pip install -U pip && \
|
||||||
|
pip install ${PKGS_PIP} && \
|
||||||
|
python -m bash_kernel.install && \
|
||||||
|
python -m mariadb_kernel.install && \
|
||||||
|
cargo install --git https://github.com/latex-lsp/texlab --locked && \
|
||||||
|
mv /root/.cargo/bin/texlab /usr/bin/ && \
|
||||||
|
rpm -e --nodeps systemd && \
|
||||||
|
rm -rf /root/.cache/* /root/.cargo && \
|
||||||
|
dnf5 remove -y ${PKGS_DNF_BUILD} && \
|
||||||
|
dnf5 autoremove -y && \
|
||||||
|
dnf5 clean all
|
||||||
|
|
||||||
|
WORKDIR /jupyter
|
||||||
|
|
||||||
|
ENTRYPOINT [ "jupyter" ]
|
||||||
|
|
||||||
|
CMD [ "notebook", "--allow-root", "--no-browser", "--autoreload" ]
|
Loading…
Reference in a new issue