diff --git a/workspaces/kafka-workspace/README.md b/workspaces/kafka-workspace/README.md index fdf851e..c3da236 100644 --- a/workspaces/kafka-workspace/README.md +++ b/workspaces/kafka-workspace/README.md @@ -61,7 +61,6 @@ VS-Code extensions and works in browser. This means it can run inside a docker c - **Job scheduler:** cron - **Terminal multiplexer:** tmux - ## Docs See our guides diff --git a/workspaces/mkdocs-magicspace/mkdocs/about.md b/workspaces/mkdocs-magicspace/mkdocs/about.md deleted file mode 100644 index 1af99d0..0000000 --- a/workspaces/mkdocs-magicspace/mkdocs/about.md +++ /dev/null @@ -1,63 +0,0 @@ -MkDocs-MagicSpace is an all-in-one tool, carefully crafted to make the development of gorgeous documentation -websites like [**this one**](https://mkdocs-magicspace.alnoda.org/) as easy as possible. - -## Why documentation websites with MkDocs - -*Why create separate documentation websites? And if so, why MkDocs?* - -- MkDocs website with beautiful themes looks much better than any readme file. The resulting documentation website looks professional and awesome. -- MkDocs adds text search to your documentation website. -- In the case of closed-source software, sharing readme files from the git repository with external users is not an option. -- Github does not render beautiful extended markdown features like admonitions, tabs, etc. Neither renders diagrams, formulas, swagger docs, or notebooks. -- Using MkDocs-MagicSpace you create documentation from the same markdown readme files you have in your repo together with the code. And you -can create a unified documentation website from multiple repositories in Github, GitLab, Bitbucket. -- You can add such features as Google Analytics, multi-language localization. - -## Features - -**MkDocs:** - -- [**MkDocs**](https://www.mkdocs.org/) - a fast, simple and downright gorgeous static site generator that's geared towards -building project documentation. -- [**Material for MkDocs**](https://squidfunk.github.io/mkdocs-material/) - gorgeous theme for MkDocs. -- [PyMdown Extensions](https://facelessuser.github.io/pymdown-extensions/) - add even more cool features of the extended markdown: sub- and superscripts, keys, magic links, sane headers etc. -- [Mkdocs-macro plugin](https://mkdocs-macros-plugin.readthedocs.io/en/latest/) - add variables and macros written in Python! -- [Mkdocs-multirepo-plugin](https://github.com/jdoiro3/mkdocs-multirepo-plugin) - import docs directly from git repositories. -- [Mkdocs-monorepo plugin](https://backstage.github.io/mkdocs-monorepo-plugin/) - build multiple documentation folders in a single Mkdocs. Designed for large codebases. -- [MkDocs Newsletter](https://lyz-code.github.io/mkdocs-newsletter/) - show the changes of documentation repositories in a user friendly format, at the same time that it's easy for the authors to maintain. -- [Mkdocs-mermaid2-plugin](https://github.com/fralau/mkdocs-mermaid2-plugin) - renders textual graph descriptions into Mermaid graphs (flow charts, sequence diagrams, pie charts, etc.). -- [Pygments](https://pygments.org/) - a generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code, with over 500 languages and other text formats. -- [Mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) - include Markdown files completely or partially, and include files of any type. -- [Mkdocs-table-reader-plugin](https://pypi.org/project/mkdocs-table-reader-plugin/) - directly insert CSV files as tables in your website. - -**Dev tools:** - -- [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has -VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. -- [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal. -- [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace -- [**Cronicle**](https://github.com/jhuckaby/Cronicle) - task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. -- [**Static File Server**](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily. -- [**Ungit**](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it. -- [**MkDocs**](https://squidfunk.github.io/mkdocs-material/) - create awesome documentation for your project with only markdown. -- [**Midnight Commander**](https://midnight-commander.org/) - Feature rich visual file manager with internal text viewer and editor. -- [**Process Monitor**](https://htop.dev/) - Monitor running process and resource utilization. -- Quicklaunch UI with getting started tutorial - -Image is built from **Ubuntu 20.4** with the additional CLI apps - -- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) -- Python 3, Pip -- Node/nodeenv -- curl, wget, telnet, jq -- **Git:** git, git-flow, lazygit -- **File browsers:** mc, xplr -- **Text editors:** nano, vim, mcedit -- **System monitors:** ncdu, htop, glances, vizex -- **Process Control:** supervisord -- **Job scheduler:** cron - -## Docs -See our guides on [**getting started with MkDocs**](https://mkdocs-magicspace.alnoda.org/tutorials/get-started/), -[**extended Markdown tutorials**](https://mkdocs-magicspace.alnoda.org/tutorials/markdown/intro/) -and [**advanced features**](https://mkdocs-magicspace.alnoda.org/docs/). diff --git a/workspaces/mkdocs-magicspace/Dockerfile b/workspaces/mkdocs-workspace/Dockerfile similarity index 90% rename from workspaces/mkdocs-magicspace/Dockerfile rename to workspaces/mkdocs-workspace/Dockerfile index 62b5ec8..bbb6c35 100644 --- a/workspaces/mkdocs-magicspace/Dockerfile +++ b/workspaces/mkdocs-workspace/Dockerfile @@ -1,5 +1,5 @@ ARG docker_registry=docker.io/alnoda -ARG image_tag=2.2 +ARG image_tag=3.0 FROM ${docker_registry}/ide-workspace:${image_tag} @@ -10,15 +10,18 @@ COPY settings.json /home/abc/.theia/settings.json # More dependencies for mkdocs and markdown COPY mkdocs-requirements.txt /home/abc/installed-python-packages +COPY ./examples/ /home/examples/ + # Customize mkdocs COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml COPY ./mkdocs/README.md /home/docs/docs/ COPY ./mkdocs/about.md /home/docs/docs/ COPY ./mkdocs/IDE.jpg /home/docs/docs/assets/home/ COPY ./mkdocs/Magicspace-web.png /home/docs/docs/assets/home/ -COPY ./mkdocs/showcase.md /home/docs/docs/showcase.md COPY ./mkdocs/helpers.py /home/docs/macros -COPY ./examples/ /home/examples/ +COPY ./mkdocs/alnoda-dark.svg /home/docs/docs/assets/ +COPY ./mkdocs/alnoda-white.svg /home/docs/docs/assets/ +COPY ./mkdocs/about.md /home/docs/docs/about.md RUN apt-get -y update \ && echo "-------------------------------------------- weasyprint" \ @@ -40,5 +43,4 @@ RUN apt-get -y update \ USER abc # Custom docs for this workspace -COPY mkdocs /home/docs -COPY README.md /home/docs/docs/get-started.md \ No newline at end of file +COPY mkdocs /home/docs \ No newline at end of file diff --git a/workspaces/mkdocs-magicspace/README.md b/workspaces/mkdocs-workspace/README.md similarity index 72% rename from workspaces/mkdocs-magicspace/README.md rename to workspaces/mkdocs-workspace/README.md index 93f67f8..626ae0b 100644 --- a/workspaces/mkdocs-magicspace/README.md +++ b/workspaces/mkdocs-workspace/README.md @@ -1,19 +1,20 @@

- Alnoda logo + Alnoda logo

-# MkDocs-MagicSpace +# MkDocs workspace -MkDocs-MagicSpace is an all-in-one tool, carefully crafted to make the development of gorgeous documentation -websites like [**this one**](https://mkdocs-magicspace.alnoda.org/) as easy as possible. +Containerized environment which helps to develop complex and awesome-looking documentation websites. +Create docs from all your GitHub, GitLab and Bitbucket repositories, automate periodic builds.

Collage

-## Why this images +## Why -If want a ready tool to develop and build beautiful doccumentation websites with only Markdown. +- If want a ready tool to develop beautiful doccumentation websites. +- You need a tool to automate and schedule builds of docs from many repositories. ## Why documentation websites with MkDocs @@ -51,33 +52,28 @@ building project documentation. - [Pygments](https://pygments.org/) - a generic syntax highlighter suitable for use in code hosting, forums, wikis or other applications that need to prettify source code, with over 500 languages and other text formats. - [Mkdocs-include-markdown-plugin](https://github.com/mondeja/mkdocs-include-markdown-plugin) - include Markdown files completely or partially, and include files of any type. - [Mkdocs-table-reader-plugin](https://pypi.org/project/mkdocs-table-reader-plugin/) - directly insert CSV files as tables in your website. +- [Mkdocs-video](https://github.com/soulless-viewer/mkdocs-video) - Include viedeos in the documentation. +- many other plugins **Dev tools:** - [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has -VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. +VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. - [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal. - [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace -- [**Cronicle**](https://github.com/jhuckaby/Cronicle) - task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. -- [**Static File Server**](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily. - [**Ungit**](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it. -- [**MkDocs**](https://squidfunk.github.io/mkdocs-material/) - create awesome documentation for your project with only markdown. -- [**Midnight Commander**](https://midnight-commander.org/) - Feature rich visual file manager with internal text viewer and editor. -- [**Process Monitor**](https://htop.dev/) - Monitor running process and resource utilization. -- Quicklaunch UI with getting started tutorial - -Image is built from **Ubuntu 20.4** with the additional CLI apps - -- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) -- Python 3, Pip -- Node/nodeenv -- curl, wget, telnet, jq -- **Git:** git, git-flow, lazygit -- **File browsers:** mc, xplr -- **Text editors:** nano, vim, mcedit -- **System monitors:** ncdu, htop, glances, vizex -- **Process Control:** supervisord -- **Job scheduler:** cron +- **Ubuntu 20.4** with the following CLI apps + - [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) + - Python 3, Pip + - Node/nodeenv + - curl, wget, telnet, jq + - **Git:** git, git-flow, lazygit + - **File browsers:** mc + - **Text editors:** nano, vim, mcedit + - **System monitors:** ncdu, htop, glances, vizex + - **Process Control:** supervisord + - **Job scheduler:** cron + - **Terminal multiplexer:** tmux ## Docs diff --git a/workspaces/mkdocs-magicspace/docs/candidates.md b/workspaces/mkdocs-workspace/docs/candidates.md similarity index 100% rename from workspaces/mkdocs-magicspace/docs/candidates.md rename to workspaces/mkdocs-workspace/docs/candidates.md diff --git a/workspaces/mkdocs-magicspace/examples/mkdocs-material/docs/index.md b/workspaces/mkdocs-workspace/examples/mkdocs-material/docs/index.md similarity index 100% rename from workspaces/mkdocs-magicspace/examples/mkdocs-material/docs/index.md rename to workspaces/mkdocs-workspace/examples/mkdocs-material/docs/index.md diff --git a/workspaces/mkdocs-magicspace/examples/mkdocs-material/mkdocs.yml b/workspaces/mkdocs-workspace/examples/mkdocs-material/mkdocs.yml similarity index 90% rename from workspaces/mkdocs-magicspace/examples/mkdocs-material/mkdocs.yml rename to workspaces/mkdocs-workspace/examples/mkdocs-material/mkdocs.yml index 96ddaed..40ac27f 100644 --- a/workspaces/mkdocs-magicspace/examples/mkdocs-material/mkdocs.yml +++ b/workspaces/mkdocs-workspace/examples/mkdocs-material/mkdocs.yml @@ -25,17 +25,8 @@ theme: - search.suggest palette: - scheme: default - toggle: - icon: material/weather-sunny - name: Switch to light mode primary: indigo accent: blue - - scheme: slate - toggle: - icon: material/weather-night - name: Switch to dark mode - primary: deep orange - accent: red extra: # Link to open when your logo is clicked diff --git a/workspaces/mkdocs-workspace/img/alnoda-dark.svg b/workspaces/mkdocs-workspace/img/alnoda-dark.svg new file mode 100644 index 0000000..db53f4c --- /dev/null +++ b/workspaces/mkdocs-workspace/img/alnoda-dark.svg @@ -0,0 +1,70 @@ + + + +Created with Fabric.js 3.6.3 + + + + + \ No newline at end of file diff --git a/workspaces/mkdocs-magicspace/img/mkdocs-collage.png b/workspaces/mkdocs-workspace/img/mkdocs-collage.png similarity index 100% rename from workspaces/mkdocs-magicspace/img/mkdocs-collage.png rename to workspaces/mkdocs-workspace/img/mkdocs-collage.png diff --git a/workspaces/mkdocs-magicspace/img/mkdocs-magicspace-demo.gif b/workspaces/mkdocs-workspace/img/mkdocs-magicspace-demo.gif similarity index 100% rename from workspaces/mkdocs-magicspace/img/mkdocs-magicspace-demo.gif rename to workspaces/mkdocs-workspace/img/mkdocs-magicspace-demo.gif diff --git a/workspaces/mkdocs-magicspace/img/mkdocs-remote.gif b/workspaces/mkdocs-workspace/img/mkdocs-remote.gif similarity index 100% rename from workspaces/mkdocs-magicspace/img/mkdocs-remote.gif rename to workspaces/mkdocs-workspace/img/mkdocs-remote.gif diff --git a/workspaces/mkdocs-magicspace/mkdocs-requirements.txt b/workspaces/mkdocs-workspace/mkdocs-requirements.txt similarity index 72% rename from workspaces/mkdocs-magicspace/mkdocs-requirements.txt rename to workspaces/mkdocs-workspace/mkdocs-requirements.txt index 1514d09..a35ae5e 100644 --- a/workspaces/mkdocs-magicspace/mkdocs-requirements.txt +++ b/workspaces/mkdocs-workspace/mkdocs-requirements.txt @@ -1,15 +1,15 @@ # https://squidfunk.github.io/mkdocs-material/getting-started/#installation -mkdocs-material==8.2.14 +mkdocs-material==8.3.9 mkdocs-material-extensions==1.0.3 # https://pygments.org/ Pygments== 2.12.0 # https://facelessuser.github.io/pymdown-extensions/ -pymdown-extensions==9.4 +pymdown-extensions==9.5 # https://github.com/mkdocstrings/mkdocstrings -mkdocstrings==0.18.1 +mkdocstrings==0.19.0 # https://ai2business.github.io/mkdocstrings-sourcelink/ mkdocstrings-sourcelink==0.3.2 @@ -18,57 +18,61 @@ mkdocstrings-sourcelink==0.3.2 mkdocs-mermaid2-plugin==0.6.0 # https://github.com/backstage/mkdocs-monorepo-plugin -mkdocs-monorepo-plugin==1.0.1 +mkdocs-monorepo-plugin==1.0.2 + +# https://github.com/nqkdev/mkdocs-include +mkdocs-include==1.0.0 # https://github.com/jdoiro3/mkdocs-multirepo-plugin -mkdocs-multirepo-plugin==0.3.5 +mkdocs-multirepo-plugin==0.4.3 # https://github.com/fralau/mkdocs_macros_plugin -mkdocs-macros-plugin==0.5.12 +mkdocs-macros-plugin==0.7.0 # https://github.com/apenwarr/mkdocs-exclude mkdocs-exclude==1.0.2 # https://github.com/chrieke/mkdocs-exclude-search -mkdocs-exclude-search==0.5.2 +mkdocs-exclude-search==0.6.4 # https://github.com/datarobot/mkdocs-redirects -mkdocs-redirects==1.0.3 +mkdocs-redirects==1.0.4 # https://github.com/midnightprioriem/mkdocs-autolinks-plugin -mkdocs-autolinks-plugin==0.4.0 +mkdocs-autolinks-plugin==0.6.0 # https://github.com/fiinnnn/mkdocs-mktemplate-plugin -mkdocs-mktemplate-plugin==1.0.0 +mkdocs-mktemplate-plugin==1.0.1 # https://github.com/rosscdh/mkdocs-markdownextradata-plugin -mkdocs-markdownextradata-plugin==0.2.4 +mkdocs-markdownextradata-plugin==0.2.5 # https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin -mkdocs-awesome-pages-plugin==2.5.0 +mkdocs-awesome-pages-plugin==2.7.0 # https://github.com/christo-ph/mkdocs_build_plantuml -mkdocs-build-plantuml-plugin==1.5.0 +mkdocs-build-plantuml-plugin==1.7.4 # https://github.com/mikitex70/plantuml-markdown -plantuml-markdown==3.4.2 - - +plantuml-markdown==3.6.0 # https://github.com/mondeja/mkdocs-include-markdown-plugin -mkdocs-include-markdown-plugin==3.2.1 +mkdocs-include-markdown-plugin==3.5.2 # https://github.com/zhaoterryy/mkdocs-pdf-export-plugin -mkdocs-pdf-export-plugin==0.5.8 +mkdocs-pdf-export-plugin==0.5.10 # https://github.com/orzih/mkdocs-with-pdf -mkdocs-with-pdf==0.9.2 +mkdocs-with-pdf==0.9.3 # https://github.com/derJD/python-mkblog mkblog==1.2.0 # https://github.com/timvink/mkdocs-table-reader-plugin -mkdocs-table-reader-plugin==0.6 +mkdocs-table-reader-plugin==1.1.0 + +# https://github.com/soulless-viewer/mkdocs-video +mkdocs-video==1.3.0 # https://github.com/danielfrg/mkdocs-jupyter # mkdocs-jupyter==0.17.3 diff --git a/workspaces/mkdocs-magicspace/mkdocs/IDE.jpg b/workspaces/mkdocs-workspace/mkdocs/IDE.jpg similarity index 100% rename from workspaces/mkdocs-magicspace/mkdocs/IDE.jpg rename to workspaces/mkdocs-workspace/mkdocs/IDE.jpg diff --git a/workspaces/mkdocs-magicspace/mkdocs/Magicspace-web.png b/workspaces/mkdocs-workspace/mkdocs/Magicspace-web.png similarity index 100% rename from workspaces/mkdocs-magicspace/mkdocs/Magicspace-web.png rename to workspaces/mkdocs-workspace/mkdocs/Magicspace-web.png diff --git a/workspaces/mkdocs-magicspace/mkdocs/README.md b/workspaces/mkdocs-workspace/mkdocs/README.md similarity index 100% rename from workspaces/mkdocs-magicspace/mkdocs/README.md rename to workspaces/mkdocs-workspace/mkdocs/README.md diff --git a/workspaces/mkdocs-workspace/mkdocs/about.md b/workspaces/mkdocs-workspace/mkdocs/about.md new file mode 100644 index 0000000..cade546 --- /dev/null +++ b/workspaces/mkdocs-workspace/mkdocs/about.md @@ -0,0 +1,2 @@ +Containerized environment which helps to develop complex and awesome-looking documentation websites. +Create docs from all your GitHub, GitLab and Bitbucket repositories, automate periodic builds. \ No newline at end of file diff --git a/workspaces/mkdocs-workspace/mkdocs/alnoda-dark.svg b/workspaces/mkdocs-workspace/mkdocs/alnoda-dark.svg new file mode 100644 index 0000000..db53f4c --- /dev/null +++ b/workspaces/mkdocs-workspace/mkdocs/alnoda-dark.svg @@ -0,0 +1,70 @@ + + + +Created with Fabric.js 3.6.3 + + + + + \ No newline at end of file diff --git a/workspaces/mkdocs-workspace/mkdocs/alnoda-white.svg b/workspaces/mkdocs-workspace/mkdocs/alnoda-white.svg new file mode 100644 index 0000000..671ea67 --- /dev/null +++ b/workspaces/mkdocs-workspace/mkdocs/alnoda-white.svg @@ -0,0 +1,70 @@ + + + +Created with Fabric.js 3.6.3 + + + + + \ No newline at end of file diff --git a/workspaces/mkdocs-magicspace/mkdocs/helpers.py b/workspaces/mkdocs-workspace/mkdocs/helpers.py similarity index 100% rename from workspaces/mkdocs-magicspace/mkdocs/helpers.py rename to workspaces/mkdocs-workspace/mkdocs/helpers.py diff --git a/workspaces/mkdocs-magicspace/mkdocs/mkdocs.yml b/workspaces/mkdocs-workspace/mkdocs/mkdocs.yml similarity index 88% rename from workspaces/mkdocs-magicspace/mkdocs/mkdocs.yml rename to workspaces/mkdocs-workspace/mkdocs/mkdocs.yml index 78459a0..baef7bb 100644 --- a/workspaces/mkdocs-magicspace/mkdocs/mkdocs.yml +++ b/workspaces/mkdocs-workspace/mkdocs/mkdocs.yml @@ -5,17 +5,16 @@ nav: - Home: README.md - My apps: pages/my-apps.md - - Showcase: showcase.md - - Docs: https://mkdocs-magicspace.alnoda.org/ - + - About: about.md + - Docs: https://docs.alnoda.org/mkdocs-workspace/ # =========================================================== # CONFIGURATION # =========================================================== -site_name: MkDocs MagicSpace +site_name: MkDocs workspace repo_url: https://github.com/bluxmit/alnoda-workspaces -site_url: https://mkdocs-magicspace.alnoda.org +site_url: https://docs.alnoda.org edit_uri: "" # =========================================================== @@ -24,8 +23,8 @@ edit_uri: "" theme: name: 'material' - favicon: 'assets/favicon.ico' - logo: 'assets/Alnoda-logo.svg' + favicon: 'assets/alnoda-dark.svg' + logo: 'assets/alnoda-white.svg' custom_dir: overrides font: text: Lexend @@ -36,14 +35,14 @@ theme: palette: - scheme: default toggle: - icon: material/weather-sunny - name: Switch to light mode + icon: material/brightness-7 + name: Switch to dark mode primary: deep purple accent: deep orange - scheme: slate toggle: - icon: material/weather-night - name: Switch to dark mode + icon: material/brightness-4 + name: Switch to light mode primary: deep purple accent: lime @@ -53,7 +52,6 @@ extra: host_url: https://docs.alnoda.org plugins: - - search - include-markdown # Enable Macros and jinja2 templates - macros: @@ -65,7 +63,6 @@ plugins: theme: forest # default, forest, dark, neutral, base themeCSS: ".er.entityLabel{fill: black;} .messageLine0{stroke: orange;} .messageLine1{stroke: orange;} #arrowhead{fill: orange;} .messageText{fill: black; stroke: black}" - markdown_extensions: - def_list - pymdownx.tasklist: @@ -107,8 +104,4 @@ extra_javascript: - - - - - + \ No newline at end of file diff --git a/workspaces/mkdocs-magicspace/mkdocs/showcase.md b/workspaces/mkdocs-workspace/mkdocs/showcase.md similarity index 100% rename from workspaces/mkdocs-magicspace/mkdocs/showcase.md rename to workspaces/mkdocs-workspace/mkdocs/showcase.md diff --git a/workspaces/mkdocs-magicspace/settings.json b/workspaces/mkdocs-workspace/settings.json similarity index 100% rename from workspaces/mkdocs-magicspace/settings.json rename to workspaces/mkdocs-workspace/settings.json diff --git a/workspaces/notebook-workspace/Dockerfile b/workspaces/notebook-workspace/Dockerfile index cd214b1..b59baff 100644 --- a/workspaces/notebook-workspace/Dockerfile +++ b/workspaces/notebook-workspace/Dockerfile @@ -1,9 +1,9 @@ ARG docker_registry=docker.io/alnoda -ARG image_tag=2.2-3.8 +ARG image_tag=3.0-3.8 ## Images used: ARG BUILD_IMAGE=node:12.18.3 -ARG DEPLOY_IMAGE=${docker_registry}/python-workspace:${image_tag} +ARG DEPLOY_IMAGE=${docker_registry}/python-automate-workspace:${image_tag} ################################################################################ BUILD THEIA @@ -33,35 +33,6 @@ RUN yarn --pure-lockfile && \ yarn autoclean --force && \ yarn cache clean -################################################################################ BUILD NBVIEWER - -FROM python:3.8-buster as nbviewerbuilder - -ENV DEBIAN_FRONTEND=noninteractive -ENV LANG=C.UTF-8 -RUN apt-get update \ - && apt-get install -yq --no-install-recommends \ - ca-certificates \ - libcurl4-gnutls-dev \ - git \ - nodejs \ - npm - -RUN apt-get install -y libmemcached-dev zlib1g-dev - -# Python requirements -COPY nbviewer/requirements-dev.txt /srv/nbviewer/ -COPY nbviewer/requirements.txt /srv/nbviewer/ -RUN python3 -mpip install -r /srv/nbviewer/requirements-dev.txt -RUN python3 -mpip install -r /srv/nbviewer/requirements.txt - -WORKDIR /srv/nbviewer - -# Copy source tree in -COPY nbviewer /srv/nbviewer -RUN python3 setup.py build && \ - python3 -mpip wheel -vv . -w /wheels - ################################################################################ IMAGE FROM ${DEPLOY_IMAGE} @@ -70,18 +41,17 @@ USER root RUN apt-get update \ && rm -rf /opt/theia \ - && mkdir -p -m 777 /opt/theia \ + && mkdir -p /opt/theia \ && cd /opt/theia && nodeenv --node=12.18.3 env && . env/bin/activate \ - && mkdir -p -m 777 /home/project \ + && mkdir -p /home/project \ && apt-get install -y libsecret-1-dev COPY --from=theia-builder /opt/theia /opt/theia -COPY --from=nbviewerbuilder /wheels /wheels -# To change the number of threads use env var NBVIEWER_THREADS -ENV LANG=C.UTF-8 NBVIEWER_THREADS=2 - +# Programs to start COPY supervisord-notebooks.conf /etc/supervisord/ +# Override - remove Ungit to reduce resource consumption +COPY supervisord-workspace-base.conf /etc/supervisord/ COPY notebooks-requirements.txt /home/abc/installed-python-packages COPY jupyter-requirements.txt /home/abc/installed-python-packages @@ -89,24 +59,22 @@ COPY luigi/ /home/abc/luigi/ COPY examples/ /home/examples/ COPY tutorials/ /home/project/tutorials/ +COPY settings.json /home/abc/.theia/settings.json + COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml COPY ./mkdocs/img/* /home/docs/docs/assets/home/ COPY ./mkdocs/helpers.py /home/docs/macros COPY ./mkdocs/README.md /home/docs/docs/README.md -COPY ./mkdocs/results.md /home/docs/docs/pages/results.md -COPY ./mkdocs/results /home/docs/docs/pages/results -COPY settings.json /home/abc/.theia/settings.json +COPY ./mkdocs/present.md /home/docs/docs/pages/present.md +COPY ./mkdocs/present /home/docs/docs/pages/present +COPY ./mkdocs/admin.md /home/docs/docs/pages/admin.md +COPY ./mkdocs/admin /home/docs/docs/pages/admin +COPY ./mkdocs/jupyter-circle.svg /home/docs/docs/assets/ +COPY ./mkdocs/jupyter-circle-white.svg /home/docs/docs/assets/ +COPY ./mkdocs/extra.css /home/docs/docs/stylesheets/ +COPY ./mkdocs/about.md /home/docs/docs/about.md -RUN echo "------------------------------------------------------ Nbviewer" \ - && apt-get -y update \ - && apt-get install -yq --no-install-recommends ca-certificates libcurl4 \ - && apt-get clean && rm -rf /var/lib/apt/lists/* \ - && mkdir /opt/nbviewer \ - && cd /opt/nbviewer && python3 -m venv venv && . venv/bin/activate \ - && pip install --no-cache /wheels/* && deactivate \ - && rm -rf /wheels \ - && mkdir -p /home/project/nbviewer \ - && echo "------------------------------------------------------ system nodejs-18" \ +RUN echo "------------------------------------------------------ system nodejs-18" \ && curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \ && apt-get install -y nodejs \ && npm install --global yarn \ @@ -123,12 +91,10 @@ RUN echo "------------------------------------------------------ Nbviewer" \ && echo "------------------------------------------------------ user" \ && mkdir -p /usr/local/share/jupyter && chown -R abc /usr/local/share/jupyter \ && chown -R abc /opt/theia \ - && chown -R abc /opt/nbviewer \ - && chown -R abc /home/project/nbviewer \ && chown -R abc /etc/service/luigid/ \ && chown -R abc /var/log/jupyter \ && chown -R abc /var/log/luigi \ - && mkdir /usr/etc && chmod -R 777 /usr/etc \ + && mkdir /usr/etc && chown -R abc /usr/etc \ && find /home -type d | xargs -I{} chown -R abc {} \ && find /home -type f | xargs -I{} chown abc {} diff --git a/workspaces/notebook-workspace/Dockerfile-with-nbviewer b/workspaces/notebook-workspace/Dockerfile-with-nbviewer new file mode 100644 index 0000000..5966c50 --- /dev/null +++ b/workspaces/notebook-workspace/Dockerfile-with-nbviewer @@ -0,0 +1,179 @@ +ARG docker_registry=docker.io/alnoda +ARG image_tag=3.0-3.8 + +## Images used: +ARG BUILD_IMAGE=node:12.18.3 +ARG DEPLOY_IMAGE=${docker_registry}/python-automate-workspace:${image_tag} + +################################################################################ BUILD THEIA + +ARG THEIA_VERSION=1.15.0 +FROM ${BUILD_IMAGE} as theia-builder + +ARG THEIA_VERSION + +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y apt-utils \ + && apt-get install -y git \ + && apt-get install -y libsecret-1-dev \ + && mkdir /opt/theia + +WORKDIR /opt/theia +ADD ${THEIA_VERSION}.package.json ./package.json +ARG GITHUB_TOKEN +RUN yarn --pure-lockfile && \ + NODE_OPTIONS="--max_old_space_size=8192" yarn theia build && \ + yarn theia download:plugins && \ + yarn --production && \ + yarn autoclean --init && \ + echo *.ts >> .yarnclean && \ + echo *.ts.map >> .yarnclean && \ + echo *.spec.* >> .yarnclean && \ + yarn autoclean --force && \ + yarn cache clean + +################################################################################ BUILD NBVIEWER + +FROM python:3.8-buster as nbviewerbuilder + +ENV DEBIAN_FRONTEND=noninteractive +ENV LANG=C.UTF-8 +RUN apt-get update \ + && apt-get install -yq --no-install-recommends \ + ca-certificates \ + libcurl4-gnutls-dev \ + git \ + nodejs \ + npm + +RUN apt-get install -y libmemcached-dev zlib1g-dev + +# Python requirements +COPY nbviewer/requirements-dev.txt /srv/nbviewer/ +COPY nbviewer/requirements.txt /srv/nbviewer/ +RUN python3 -mpip install -r /srv/nbviewer/requirements-dev.txt +RUN python3 -mpip install -r /srv/nbviewer/requirements.txt + +WORKDIR /srv/nbviewer + +# Copy source tree in +COPY nbviewer /srv/nbviewer +RUN python3 setup.py build && \ + python3 -mpip wheel -vv . -w /wheels + +################################################################################ IMAGE + +FROM ${DEPLOY_IMAGE} + +USER root + +RUN apt-get update \ + && rm -rf /opt/theia \ + && mkdir -p /opt/theia \ + && cd /opt/theia && nodeenv --node=12.18.3 env && . env/bin/activate \ + && mkdir -p /home/project \ + && apt-get install -y libsecret-1-dev + +COPY --from=theia-builder /opt/theia /opt/theia + +COPY --from=nbviewerbuilder /wheels /wheels +# To change the number of threads use env var NBVIEWER_THREADS +ENV LANG=C.UTF-8 NBVIEWER_THREADS=2 + +COPY supervisord-notebooks.conf /etc/supervisord/ + +COPY notebooks-requirements.txt /home/abc/installed-python-packages +COPY jupyter-requirements.txt /home/abc/installed-python-packages +COPY luigi/ /home/abc/luigi/ +COPY examples/ /home/examples/ +COPY tutorials/ /home/project/tutorials/ + +COPY settings.json /home/abc/.theia/settings.json + +COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml +COPY ./mkdocs/img/* /home/docs/docs/assets/home/ +COPY ./mkdocs/helpers.py /home/docs/macros +COPY ./mkdocs/README.md /home/docs/docs/README.md +COPY ./mkdocs/present.md /home/docs/docs/pages/present.md +COPY ./mkdocs/present /home/docs/docs/pages/present +COPY ./mkdocs/admin.md /home/docs/docs/pages/admin.md +COPY ./mkdocs/admin /home/docs/docs/pages/admin + +COPY ./mkdocs/jupyter-circle.svg /home/docs/docs/assets/ +COPY ./mkdocs/jupyter-circle-white.svg /home/docs/docs/assets/ +COPY ./mkdocs/extra.css /home/docs/docs/stylesheets/ +COPY ./mkdocs/about.md /home/docs/docs/about.md + +RUN echo "------------------------------------------------------ Nbviewer" \ + && apt-get -y update \ + && apt-get install -yq --no-install-recommends ca-certificates libcurl4 \ + && apt-get clean && rm -rf /var/lib/apt/lists/* \ + && mkdir /opt/nbviewer \ + && cd /opt/nbviewer && python3 -m venv venv && . venv/bin/activate \ + && pip install --no-cache /wheels/* && deactivate \ + && rm -rf /wheels \ + && mkdir -p /home/project/nbviewer \ + && echo "------------------------------------------------------ system nodejs-18" \ + && curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \ + && apt-get install -y nodejs \ + && npm install --global yarn \ + && echo "------------------------------------------------------ Packages, prep" \ + && apt-get install -y python-is-python3 \ + && pip install -r /home/abc/installed-python-packages/notebooks-requirements.txt \ + && mkdir /var/log/jupyter \ + && echo "------------------------------------------------------ Luigi" \ + && mkdir -p /etc/service/luigid/ \ + && mkdir /var/log/luigi \ + && echo "------------------------------------------------------ Pandoc (notebooks to PDF)" \ + && apt-get install -y pandoc \ + && apt-get install -y texlive-xetex texlive-fonts-recommended texlive-plain-generic \ + && echo "------------------------------------------------------ user" \ + && mkdir -p /usr/local/share/jupyter && chown -R abc /usr/local/share/jupyter \ + && chown -R abc /opt/theia \ + && chown -R abc /opt/nbviewer \ + && chown -R abc /home/project/nbviewer \ + && chown -R abc /etc/service/luigid/ \ + && chown -R abc /var/log/jupyter \ + && chown -R abc /var/log/luigi \ + && mkdir /usr/etc && chown -R abc /usr/etc \ + && find /home -type d | xargs -I{} chown -R abc {} \ + && find /home -type f | xargs -I{} chown abc {} + +USER abc + +RUN echo "------------------------------------------------------ Pipx" \ + && python3 -m pip install --user pipx \ + && echo "------------------------------------------------------ Voila" \ + && mkdir /home/project/voila \ + && echo "------------------------------------------------------ Notebooks in terminal" \ + && pipx install nbterm \ + && pipx install nbclient \ + && pip install "nbconvert[webpdf]" \ + && echo "------------------------------------------------------ Jupyter-lux" \ + && jupyter nbextension install --py luxwidget \ + && jupyter nbextension enable --py luxwidget \ + && jupyter labextension install @jupyter-widgets/jupyterlab-manager \ + && jupyter labextension install luxwidget \ + && echo "------------------------------------------------------ Jupyter-qgrid (Jupyter only)" \ + && jupyter nbextension enable --py --sys-prefix widgetsnbextension \ + && jupyter nbextension enable --py --sys-prefix qgrid \ + && echo "------------------------------------------------------ lite/dark toggler" \ + && jupyter labextension install jupyterlab-topbar-extension jupyterlab-theme-toggle \ + && echo "------------------------------------------------------ Jupytext" \ + && jupyter serverextension enable jupytext \ + && jupyter nbextension install --py jupytext \ + && jupyter nbextension enable --py jupytext \ + && jupyter labextension install jupyterlab-jupytext \ + && jupyter labextension enable jupyterlab-jupytext + +COPY mercury/mercury-requirements.txt /home/abc/installed-python-packages +RUN echo "------------------------------------------------------ Mercury" \ + && pip install -r /home/abc/installed-python-packages/mercury-requirements.txt \ + && pip install mljar-mercury --ignore-installed --no-deps + +ENV PATH="/home/abc/miniconda3/bin:$PATH" \ + LUIGI_CONFIG_PATH="/home/abc/luigi/luigi.conf" + + + diff --git a/workspaces/notebook-workspace/README.md b/workspaces/notebook-workspace/README.md index 97b2d8a..2e423f6 100644 --- a/workspaces/notebook-workspace/README.md +++ b/workspaces/notebook-workspace/README.md @@ -1,10 +1,10 @@

- Alnoda logo + Jupyter logo

# Jupyter notebook workspace -Opinionated Jupyter notebook & Jupyter Lab installation, together with the toolset to get the most out of the Jupyter notebooks. +Containerized research, development and execution environment which helps to make the most from the Jupyter notebooks. Explore and analyze data, build reports, presentations and documentation. Convert notebooks to various formats. Serve notebooks for reporting. Create data pipelines from notebooks. Schedule executions with UI and monitoring tool. @@ -55,7 +55,6 @@ file into various static formats including executable scripts. **Notebook as reports** - [Voila](https://github.com/voila-dashboards/voila) - Voilà turns Jupyter notebooks into standalone web applications. -- [NBViewer](https://github.com/jupyter/nbviewer) - A simple way to view and share Jupyter Notebooks. - [Datapane](https://github.com/datapane/datapane) -The easiest way to create data science reports from Python. **Interactive web applications** @@ -118,28 +117,22 @@ extension which provides tabular view for csv files and allows interactive explo **Dev tools:** -- [VS-Code](https://theia-ide.org/docs/) - browser-based open source version of popular Visual Studio Code IDE. It has -VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. -- [Terminal](https://github.com/tsl0922/ttyd) - secure browser-based terminal. -- [FileBrowser](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace -- [Static File Server](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily. -- [Ungit](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it. -- [Midnight Commander](https://midnight-commander.org/) - Feature rich visual file manager with internal text viewer and editor. -- [Process Monitor](https://htop.dev/) - Monitor running process and resource utilization. -- Quicklaunch UI with getting started tutorial - -Image is built from **Ubuntu 20.4** with the additional CLI apps - -- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) -- Python 3, Pip -- Node/nodeenv -- curl, wget, telnet, jq -- **Git:** git, git-flow, lazygit -- **File browsers:** mc, xplr -- **Text editors:** nano, vim, mcedit -- **System monitors:** ncdu, htop, glances, vizex -- **Process Control:** supervisord -- **Job scheduler:** cron +- [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has +VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. +- [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal. +- [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace +- **Ubuntu 20.4** with the following CLI apps + - [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) + - Python 3, Pip + - Node/nodeenv + - curl, wget, telnet, jq + - **Git:** git, git-flow, lazygit + - **File browsers:** mc + - **Text editors:** nano, vim, mcedit + - **System monitors:** ncdu, htop, glances, vizex + - **Process Control:** supervisord + - **Job scheduler:** cron + - **Terminal multiplexer:** tmux ## Docs diff --git a/workspaces/notebook-workspace/img/jupyter-circle.svg b/workspaces/notebook-workspace/img/jupyter-circle.svg new file mode 100644 index 0000000..99418ae --- /dev/null +++ b/workspaces/notebook-workspace/img/jupyter-circle.svg @@ -0,0 +1,32 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + + + + + J + u + \ No newline at end of file diff --git a/workspaces/notebook-workspace/mkdocs/README.md b/workspaces/notebook-workspace/mkdocs/README.md index 7c7dcf9..012e025 100644 --- a/workspaces/notebook-workspace/mkdocs/README.md +++ b/workspaces/notebook-workspace/mkdocs/README.md @@ -93,54 +93,11 @@ "image": "assets/home/dtale.png", "description": "Comprehensive visual exploration, analysis and discovery from dataset files." }, - { - "env": "NBVIEWER_URL", - "subpath": "localfile/", - "name": "Notebook viewer", - "image": "assets/home/nbviewer.png", - "description": "Display notebooks from folder /home/project/nbviewer" - }, - { - "env": "VOILA_URL", - "name": "Voila", - "image": "assets/home/voila.png", - "description": "Render live Jupyter notebooks with interactive widgets from folder /home/project/voila" - }, { "env": "LUIGI_URL", "name": "Luigi", "image": "assets/home/luigi.png", "description": "Luigi helps you build complex pipelines of batch jobs in Python" - }, - { - "env": "CRONICLE_URL", - "name": "Cronicle", - "image": "assets/home/Cronicle.jpg", - "description": "Schedule jobs, manage schedules, observe and monitor executions (user/pass - admin/admin)" - }, - { - "env": "UNGIT_URL", - "name": "Ungit", - "image": "assets/home/Ungit.jpg", - "description": "Manage Git repositories and work flow using beautiful UI" - }, - { - "env": "STATICFS_URL", - "name": "Static File Server", - "image": "assets/home/Static-server.png", - "description": "Serve any static websites like a breeze" - }, - { - "env": "MC_URL", - "name": "M.Commander", - "image": "assets/home/MC.jpg", - "description": "Feature rich visual file manager with internal text viewer and editor" - }, - { - "env": "HTOP_URL", - "name": "Process monitor", - "image": "assets/home/Htop.jpg", - "description": "Monitor running process and resource utilization" } ] %} diff --git a/workspaces/notebook-workspace/mkdocs/about.md b/workspaces/notebook-workspace/mkdocs/about.md new file mode 100644 index 0000000..f61b5e0 --- /dev/null +++ b/workspaces/notebook-workspace/mkdocs/about.md @@ -0,0 +1,4 @@ +Containerized research, development and execution environment which helps to make the most from the Jupyter notebooks. + +Explore and analyze data, build reports, presentations and documentation. Convert notebooks to various formats. +Serve notebooks for reporting. Create data pipelines from notebooks. Schedule executions with UI and monitoring tool. \ No newline at end of file diff --git a/workspaces/notebook-workspace/mkdocs/admin.md b/workspaces/notebook-workspace/mkdocs/admin.md new file mode 100644 index 0000000..d4cc5cc --- /dev/null +++ b/workspaces/notebook-workspace/mkdocs/admin.md @@ -0,0 +1,104 @@ + + + +{% + set tools = [ + { + "env": "CRONICLE_URL", + "name": "Cronicle", + "image": "Cronicle.jpg", + "description": "Schedule jobs, manage schedules, observe and monitor executions (user/pass - admin/admin)" + }, + { + "env": "MC_URL", + "name": "M.Commander", + "image": "MC.jpg", + "description": "Feature rich visual file manager with internal text viewer and editor" + }, + { + "env": "HTOP_URL", + "name": "Process monitor", + "image": "Htop.jpg", + "description": "Monitor running process and resource utilization" + } + ] +%} + + +
+ {% for tool in tools %} + {% set tool_url = get_tool_url(tool.env) %} +
+ {% if tool.subpath is defined %} + + {% else %} + + {% endif %} + + + +
{{ tool.name }}
+
+
{{ tool.description }}
+
+ {% endfor %} +
+ + + + + diff --git a/workspaces/notebook-workspace/mkdocs/admin/Cronicle.jpg b/workspaces/notebook-workspace/mkdocs/admin/Cronicle.jpg new file mode 100644 index 0000000..03c56be Binary files /dev/null and b/workspaces/notebook-workspace/mkdocs/admin/Cronicle.jpg differ diff --git a/workspaces/notebook-workspace/mkdocs/admin/Htop.jpg b/workspaces/notebook-workspace/mkdocs/admin/Htop.jpg new file mode 100644 index 0000000..994bc13 Binary files /dev/null and b/workspaces/notebook-workspace/mkdocs/admin/Htop.jpg differ diff --git a/workspaces/notebook-workspace/mkdocs/admin/MC.jpg b/workspaces/notebook-workspace/mkdocs/admin/MC.jpg new file mode 100644 index 0000000..9b0a92a Binary files /dev/null and b/workspaces/notebook-workspace/mkdocs/admin/MC.jpg differ diff --git a/workspaces/notebook-workspace/mkdocs/extra.css b/workspaces/notebook-workspace/mkdocs/extra.css new file mode 100644 index 0000000..f201503 --- /dev/null +++ b/workspaces/notebook-workspace/mkdocs/extra.css @@ -0,0 +1,29 @@ +[data-md-color-scheme="jupyter"] { + --md-primary-fg-color: #F37726; + --md-accent-fg-color: #F37726; + + --md-typeset-a-color: #050505; + --md-default-fg-color: #050505; + + --md-primary-fg-color--light: #050505; + --md-typeset-mark-color: #050505; + + --md-default-fg-color--light: #003B5C; + --md-default-bg-color: #F5F7F7; + +} + +[data-md-color-scheme="jupyter-dark"] { + --md-primary-fg-color: #F37726; + --md-accent-fg-color: #c7601a; + + --md-default-bg-color: #343741; + --md-default-fg-color--light: #9CDCFE; + --md-typeset-color: #9CDCFE; + --md-typeset-a-color: #9CDCFE; +} + + +.md-header { + color: #050505 !important; + } \ No newline at end of file diff --git a/workspaces/notebook-workspace/mkdocs/jupyter-circle-white.svg b/workspaces/notebook-workspace/mkdocs/jupyter-circle-white.svg new file mode 100644 index 0000000..d0adf19 --- /dev/null +++ b/workspaces/notebook-workspace/mkdocs/jupyter-circle-white.svg @@ -0,0 +1,32 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + + + + + J + u + \ No newline at end of file diff --git a/workspaces/notebook-workspace/mkdocs/jupyter-circle.svg b/workspaces/notebook-workspace/mkdocs/jupyter-circle.svg new file mode 100644 index 0000000..99418ae --- /dev/null +++ b/workspaces/notebook-workspace/mkdocs/jupyter-circle.svg @@ -0,0 +1,32 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + + + + + J + u + \ No newline at end of file diff --git a/workspaces/notebook-workspace/mkdocs/mkdocs.yml b/workspaces/notebook-workspace/mkdocs/mkdocs.yml index 200191a..1effa15 100644 --- a/workspaces/notebook-workspace/mkdocs/mkdocs.yml +++ b/workspaces/notebook-workspace/mkdocs/mkdocs.yml @@ -4,11 +4,12 @@ nav: - Home: README.md - - Results: pages/results.md + - Present: pages/present.md + - Admin: pages/admin.md - My apps: pages/my-apps.md + - About: about.md - Docs: https://docs.alnoda.org/notebook-workspace/ - # =========================================================== # CONFIGURATION # =========================================================== @@ -24,26 +25,24 @@ edit_uri: "" theme: name: 'material' - favicon: 'assets/favicon.ico' - logo: 'assets/Alnoda-logo.svg' + favicon: 'assets/jupyter-circle.svg' + logo: 'assets/jupyter-circle.svg' custom_dir: overrides + font: + text: Open Sans icon: - repo: fontawesome/brands/git-alt + repo: fontawesome/brands/github features: - navigation.instant palette: - - scheme: default + - scheme: jupyter toggle: - icon: material/toggle-switch-off-outline - name: Switch to light mode - primary: orange - accent: deep orange - - scheme: slate - toggle: - icon: material/toggle-switch + icon: material/brightness-7 name: Switch to dark mode - primary: orange - accent: deep orange + - scheme: jupyter-dark + toggle: + icon: material/brightness-4 + name: Switch to light mode extra: # Link to open when your logo is clicked @@ -51,21 +50,14 @@ extra: host_url: http://docs.alnoda.org plugins: - - search # Enable Macros and jinja2 templates - macros: module_name: macros/helpers +extra_css: + - stylesheets/extra.css extra_javascript: - javascripts/config.js - https://polyfill.io/v3/polyfill.min.js?features=es6 - - - - - - - - diff --git a/workspaces/notebook-workspace/mkdocs/results.md b/workspaces/notebook-workspace/mkdocs/present.md similarity index 91% rename from workspaces/notebook-workspace/mkdocs/results.md rename to workspaces/notebook-workspace/mkdocs/present.md index 82b4627..21efcfa 100644 --- a/workspaces/notebook-workspace/mkdocs/results.md +++ b/workspaces/notebook-workspace/mkdocs/present.md @@ -63,13 +63,6 @@ "image": "Filebrowser.png", "description": "Browse, upload and download files and folders to and from the Workspace" }, - { - "env": "NBVIEWER_URL", - "subpath": "localfile/", - "name": "Notebook viewer", - "image": "nbviewer.png", - "description": "Display notebooks from folder /home/project/nbviewer" - }, { "env": "VOILA_URL", "name": "Voila", diff --git a/workspaces/notebook-workspace/mkdocs/results/Filebrowser.png b/workspaces/notebook-workspace/mkdocs/present/Filebrowser-white.png similarity index 100% rename from workspaces/notebook-workspace/mkdocs/results/Filebrowser.png rename to workspaces/notebook-workspace/mkdocs/present/Filebrowser-white.png diff --git a/workspaces/notebook-workspace/mkdocs/present/Filebrowser.png b/workspaces/notebook-workspace/mkdocs/present/Filebrowser.png new file mode 100644 index 0000000..e9d883f Binary files /dev/null and b/workspaces/notebook-workspace/mkdocs/present/Filebrowser.png differ diff --git a/workspaces/notebook-workspace/mkdocs/results/Static-server.png b/workspaces/notebook-workspace/mkdocs/present/Static-server-old.png similarity index 100% rename from workspaces/notebook-workspace/mkdocs/results/Static-server.png rename to workspaces/notebook-workspace/mkdocs/present/Static-server-old.png diff --git a/workspaces/notebook-workspace/mkdocs/present/Static-server.png b/workspaces/notebook-workspace/mkdocs/present/Static-server.png new file mode 100644 index 0000000..b48062f Binary files /dev/null and b/workspaces/notebook-workspace/mkdocs/present/Static-server.png differ diff --git a/workspaces/notebook-workspace/mkdocs/results/mercury.png b/workspaces/notebook-workspace/mkdocs/present/mercury.png similarity index 100% rename from workspaces/notebook-workspace/mkdocs/results/mercury.png rename to workspaces/notebook-workspace/mkdocs/present/mercury.png diff --git a/workspaces/notebook-workspace/mkdocs/results/nbviewer.png b/workspaces/notebook-workspace/mkdocs/present/nbviewer.png similarity index 100% rename from workspaces/notebook-workspace/mkdocs/results/nbviewer.png rename to workspaces/notebook-workspace/mkdocs/present/nbviewer.png diff --git a/workspaces/notebook-workspace/mkdocs/results/voila.png b/workspaces/notebook-workspace/mkdocs/present/voila.png similarity index 100% rename from workspaces/notebook-workspace/mkdocs/results/voila.png rename to workspaces/notebook-workspace/mkdocs/present/voila.png diff --git a/workspaces/notebook-workspace/supervisord-notebooks.conf b/workspaces/notebook-workspace/supervisord-notebooks.conf index a6f64b9..34d10f5 100644 --- a/workspaces/notebook-workspace/supervisord-notebooks.conf +++ b/workspaces/notebook-workspace/supervisord-notebooks.conf @@ -20,13 +20,6 @@ stderr_logfile = /var/log/jupyter/jupyterlab-stderr.log stdout_logfile = /var/log/jupyter/jupyterlab-stdout.log logfile_maxbytes = 1024 -[program:nbviewer] -directory=/usr/local/bin/ -command=/bin/sh -c " cd /opt/nbviewer; . venv/bin/activate; python -m nbviewer --port=8031 --localfiles=/home/project/nbviewer " -stderr_logfile = /var/log/jupyter/nbviewer-stderr.log -stdout_logfile = /var/log/jupyter/nbviewer-stdout.log -logfile_maxbytes = 1024 - [program:voila] directory=/usr/local/bin/ command=/bin/sh -c " cd /home/project/voila && voila --no-browser --strip_sources=false --autoreload=true --port=8033 --Voila.ip=0.0.0.0 --template=material " diff --git a/workspaces/notebook-workspace/supervisord-workspace-base.conf b/workspaces/notebook-workspace/supervisord-workspace-base.conf new file mode 100755 index 0000000..3e083db --- /dev/null +++ b/workspaces/notebook-workspace/supervisord-workspace-base.conf @@ -0,0 +1,43 @@ +[program:mkdocs] +directory=/home/docs +command=/bin/sh -c " mkdocs serve -a 0.0.0.0:8020 " +stderr_logfile = /var/log/mkdocs/mkdocs-stderr.log +stdout_logfile = /var/log/mkdocs/mkdocs-stdout.log +logfile_maxbytes = 1024 + +[program:filebrowser] +directory=/opt/filebrowser +command=/bin/sh -c " /opt/filebrowser/filebrowser " +stderr_logfile = /var/log/filebrowser/filebrowser-stderr.log +stdout_logfile = /var/log/filebrowser/filebrowser-stdout.log +logfile_maxbytes = 1024 + +[program:serve] +directory=/home/static-server +command=/bin/sh -c " cd /opt/serve; . env/bin/activate; serve -p 8022 /home/static-server " +stderr_logfile = /var/log/static-file-server/serve-stderr.log +stdout_logfile = /var/log/static-file-server/serve-stdout.log +logfile_maxbytes = 1024 + +[program:cronicle] +directory=/opt/cronicle +command=/bin/sh -c " rm /opt/cronicle/logs/cronicled.pid || true; cd /opt/cronicle; . env/bin/activate; /opt/cronicle/bin/control.sh setup; /opt/cronicle/bin/control.sh start " +stderr_logfile = /var/log/cronicle/cronicle-stderr.log +stdout_logfile = /var/log/cronicle/cronicle-stdout.log +logfile_maxbytes = 1024 +exitcodes=0 +startsecs=0 + +[program:mc] +directory=/ +command=/bin/sh -c " export TERM=xterm; export EDITOR=mcedit; ttyd -p 8027 /bin/zsh -c '/usr/bin/mc' " + +[program:htop] +directory=/usr/bin +command=/bin/sh -c " export TERM=xterm; ttyd -p 8028 /bin/zsh -c '/usr/bin/htop' " + + + + + + diff --git a/workspaces/postgres-workspace/Dockerfile b/workspaces/postgres-workspace/Dockerfile index dc3db84..1c2f408 100644 --- a/workspaces/postgres-workspace/Dockerfile +++ b/workspaces/postgres-workspace/Dockerfile @@ -56,6 +56,10 @@ COPY supervisord-postgres.conf /etc/supervisord/ COPY --from=docs_image /home/docs/ /home/docs/ COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml +COPY ./mkdocs/postgres-circle.svg /home/docs/docs/assets/ +COPY ./mkdocs/postgres-circle-white.svg /home/docs/docs/assets/ +COPY ./mkdocs/extra.css /home/docs/docs/stylesheets/ +COPY ./mkdocs/about.md /home/docs/docs/about.md COPY schemaspy/schemaspy.sh /opt/schemaspy/schemaspy.sh diff --git a/workspaces/postgres-workspace/README.md b/workspaces/postgres-workspace/README.md index 05f015f..7492f0d 100644 --- a/workspaces/postgres-workspace/README.md +++ b/workspaces/postgres-workspace/README.md @@ -1,10 +1,10 @@

- Alnoda logo + Postgres logo

# Postgres workspace -Collection of tools to interact with PostgreSQL. +Containerized environment to interact, manage and administer PostgreSQL database. Query, explore, manage, develop, test performance, import annd export data, generate mock data, create backups, manage migrations, generate reports, schedule tasks. @@ -72,29 +72,22 @@ and open [localhost:8020](http://localhost:8020) in browser. **Dev tools:** - [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has -VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. +VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. - [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal. - [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace -- [**Cronicle**](https://github.com/jhuckaby/Cronicle) - task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. -- [**Static File Server**](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily. - [**Ungit**](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it. -- [**MkDocs**](https://squidfunk.github.io/mkdocs-material/) - create awesome documentation for your project with only markdown. -- [**Midnight Commander**](https://midnight-commander.org/) - feature rich visual file manager with internal text viewer and editor. -- [**Process Monitor**](https://htop.dev/) - Monitor running process and resource utilization. -- Quicklaunch UI with getting started tutorial - -Image is built from **Ubuntu 20.4** with the additional CLI apps - -- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) -- Python 3, Pip -- Node/nodeenv -- curl, wget, telnet, jq -- **Git:** git, git-flow, lazygit -- **File browsers:** mc, xplr -- **Text editors:** nano, vim, mcedit -- **System monitors:** ncdu, htop, glances, vizex -- **Process Control:** supervisord -- **Job scheduler:** cron +- **Ubuntu 20.4** with the following CLI apps + - [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) + - Python 3, Pip + - Node/nodeenv + - curl, wget, telnet, jq + - **Git:** git, git-flow, lazygit + - **File browsers:** mc + - **Text editors:** nano, vim, mcedit + - **System monitors:** ncdu, htop, glances, vizex + - **Process Control:** supervisord + - **Job scheduler:** cron + - **Terminal multiplexer:** tmux - [Rclone](https://rclone.org/) - save backups to S3 ## Docs diff --git a/workspaces/postgres-workspace/img/postgres-circle-white.svg b/workspaces/postgres-workspace/img/postgres-circle-white.svg new file mode 100644 index 0000000..eaf6de3 --- /dev/null +++ b/workspaces/postgres-workspace/img/postgres-circle-white.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/postgres-workspace/img/postgres-circle.svg b/workspaces/postgres-workspace/img/postgres-circle.svg new file mode 100644 index 0000000..6b01db4 --- /dev/null +++ b/workspaces/postgres-workspace/img/postgres-circle.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/postgres-workspace/mkdocs/about.md b/workspaces/postgres-workspace/mkdocs/about.md new file mode 100644 index 0000000..72656a1 --- /dev/null +++ b/workspaces/postgres-workspace/mkdocs/about.md @@ -0,0 +1,4 @@ +Containerized environment to interact, manage and administer PostgreSQL database. + +Query, explore, manage, develop, test performance, import annd export data, +generate mock data, create backups, manage migrations, generate reports, schedule tasks. \ No newline at end of file diff --git a/workspaces/postgres-workspace/mkdocs/extra.css b/workspaces/postgres-workspace/mkdocs/extra.css new file mode 100644 index 0000000..64ef4b9 --- /dev/null +++ b/workspaces/postgres-workspace/mkdocs/extra.css @@ -0,0 +1,18 @@ +[data-md-color-scheme="postgres"] { + --md-primary-fg-color: #32658F; + --md-accent-fg-color: #840032; + + --md-default-fg-color--light: #003B5C; + --md-default-bg-color: #F5F7F7; +} + +[data-md-color-scheme="postgres-dark"] { + --md-primary-fg-color: #32658F; + --md-accent-fg-color: #19758F; + + --md-default-bg-color: #343741; + --md-default-fg-color--light: #9CDCFE; + --md-typeset-color: #9CDCFE; + --md-typeset-a-color: #9CDCFE; +} + diff --git a/workspaces/postgres-workspace/mkdocs/mkdocs.yml b/workspaces/postgres-workspace/mkdocs/mkdocs.yml index cc82de5..cb0d658 100644 --- a/workspaces/postgres-workspace/mkdocs/mkdocs.yml +++ b/workspaces/postgres-workspace/mkdocs/mkdocs.yml @@ -5,14 +5,14 @@ nav: - Home: README.md - My apps: pages/my-apps.md + - About: about.md - Docs: https://docs.alnoda.org/postgres-workspace/ - # =========================================================== # CONFIGURATION # =========================================================== -site_name: Postgres workspace +site_name: PostgreSQL workspace repo_url: https://github.com/bluxmit/alnoda-workspaces site_url: https://docs.alnoda.org edit_uri: "" @@ -23,26 +23,24 @@ edit_uri: "" theme: name: 'material' - favicon: 'assets/favicon.ico' - logo: 'assets/Alnoda-logo.svg' + favicon: 'assets/postgres-circle.svg' + logo: 'assets/postgres-circle-white.svg' custom_dir: overrides + font: + text: Open Sans icon: - repo: fontawesome/brands/git-alt + repo: fontawesome/brands/github features: - navigation.instant palette: - - scheme: default + - scheme: postgres toggle: - icon: material/toggle-switch-off-outline - name: Switch to light mode - primary: indigo - accent: blue - - scheme: slate - toggle: - icon: material/toggle-switch + icon: material/brightness-7 name: Switch to dark mode - primary: blue - accent: light blue + - scheme: postgres-dark + toggle: + icon: material/brightness-4 + name: Switch to light mode extra: # Link to open when your logo is clicked @@ -50,21 +48,15 @@ extra: host_url: http://docs.alnoda.org plugins: - - search # Enable Macros and jinja2 templates - macros: module_name: macros/helpers +extra_css: + - stylesheets/extra.css extra_javascript: - javascripts/config.js - https://polyfill.io/v3/polyfill.min.js?features=es6 - - - - - - - diff --git a/workspaces/postgres-workspace/mkdocs/postgres-circle-white.svg b/workspaces/postgres-workspace/mkdocs/postgres-circle-white.svg new file mode 100644 index 0000000..eaf6de3 --- /dev/null +++ b/workspaces/postgres-workspace/mkdocs/postgres-circle-white.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/postgres-workspace/mkdocs/postgres-circle.svg b/workspaces/postgres-workspace/mkdocs/postgres-circle.svg new file mode 100644 index 0000000..6b01db4 --- /dev/null +++ b/workspaces/postgres-workspace/mkdocs/postgres-circle.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/redis-workspace/README.md b/workspaces/redis-workspace/README.md index 7e42db8..c25d166 100644 --- a/workspaces/redis-workspace/README.md +++ b/workspaces/redis-workspace/README.md @@ -1,10 +1,10 @@

- Alnoda logo + Redis logo

# Redis workspace -Docker image with Redis, Redis Commander and several CLI tools to interact with Redis. +Containerized environment to interact, manage and administer Redis database.

Collage @@ -36,29 +36,22 @@ open [localhost:8020](http://localhost:8020) in browser. **Dev tools:** - [**Eclipse Theia**](https://theia-ide.org/docs/) - open source version of popular Visual Studio Code IDE. Theia is trully open-source, has -VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. +VS-Code extensions and works in browser. This means it can run inside a docker container on local machine or in cloud. A lot of beautiful color themes and many common plugins are already installed to save time. - [**Terminal**](https://github.com/tsl0922/ttyd) - secure browser-based terminal. - [**FileBrowser**](https://github.com/filebrowser/filebrowser) - manage files and folders inside the workspace, and exchange data between local environment and the workspace -- [**Cronicle**](https://github.com/jhuckaby/Cronicle) - task scheduler and runner, with a web based front-end UI. It handles both scheduled, repeating and on-demand jobs, targeting any number of worker servers, with real-time stats and live log viewer. -- [**Static File Server**](https://github.com/vercel/serve) - view any static html sites as easy as if you do it on your local machine. Serve static websites easily. - [**Ungit**](https://github.com/FredrikNoren/ungit) - rings user friendliness to git without sacrificing the versatility of it. -- [**MkDocs**](https://squidfunk.github.io/mkdocs-material/) - create awesome documentation for your project with only markdown. -- [**Midnight Commander**](https://midnight-commander.org/) - Feature rich visual file manager with internal text viewer and editor. -- [**Process Monitor**](https://htop.dev/) - Monitor running process and resource utilization. -- Quicklaunch UI with getting started tutorial - -Image is built from **Ubuntu 20.4** with the additional CLI apps - -- [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) -- Python 3, Pip -- Node/nodeenv -- curl, wget, telnet, jq -- **Git:** git, git-flow, lazygit -- **File browsers:** mc, xplr -- **Text editors:** nano, vim, mcedit -- **System monitors:** ncdu, htop, glances, vizex -- **Process Control:** supervisord -- **Job scheduler:** cron +- **Ubuntu 20.4** with the following CLI apps + - [Zsh](https://www.zsh.org/), [Oh my Zsh](https://ohmyz.sh/) + - Python 3, Pip + - Node/nodeenv + - curl, wget, telnet, jq + - **Git:** git, git-flow, lazygit + - **File browsers:** mc + - **Text editors:** nano, vim, mcedit + - **System monitors:** ncdu, htop, glances, vizex + - **Process Control:** supervisord + - **Job scheduler:** cron + - **Terminal multiplexer:** tmux ## Docs diff --git a/workspaces/redis-workspace/img/redis-circle.svg b/workspaces/redis-workspace/img/redis-circle.svg new file mode 100644 index 0000000..d65583b --- /dev/null +++ b/workspaces/redis-workspace/img/redis-circle.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/redis-workspace/mkdocs/redis-circle-white.svg b/workspaces/redis-workspace/mkdocs/redis-circle-white.svg new file mode 100644 index 0000000..1b770f3 --- /dev/null +++ b/workspaces/redis-workspace/mkdocs/redis-circle-white.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/workspaces/redis-workspace/mkdocs/redis-circle.svg b/workspaces/redis-workspace/mkdocs/redis-circle.svg new file mode 100644 index 0000000..d65583b --- /dev/null +++ b/workspaces/redis-workspace/mkdocs/redis-circle.svg @@ -0,0 +1,50 @@ + + + + + + Go icon + Elixir icon + R icon + OpenSearch logo + Search engine software fork of Elasticsearch + OpenSearch logo + Search engine software fork of Elasticsearch + + + + + + + + + + + + + + + + redash-logo + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file