ruby, java, scala workspaces updated

This commit is contained in:
bluxmit 2022-07-18 16:46:58 +00:00
parent 5843905f74
commit a2ca4cc657
26 changed files with 346 additions and 167 deletions

View file

@ -1,21 +1,26 @@
ARG docker_registry=docker.io/alnoda
ARG image_tag=2.2
ARG image_tag=3.0
FROM ${docker_registry}/codeserver-workspace:${image_tag}
FROM ${docker_registry}/theia-workspace:${image_tag}
USER root
COPY examples/example /home/abc/example
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/java-circle.svg /home/docs/docs/assets/
COPY ./mkdocs/java-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 apt-get -y update \
&& echo "------------------------------------------------------ java 17" \
&& sudo apt-get install -y openjdk-17-jre \
&& apt-get install -y openjdk-17-jdk \
&& echo "------------------------------------------------------ maven" \
&& wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz -P /tmp \
&& tar xf /tmp/apache-maven-3.8.5-bin.tar.gz \
&& mv apache-maven-3.8.5 /opt/maven \
&& rm /tmp/apache-maven-3.8.5-bin.tar.gz \
&& wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -P /tmp \
&& tar xf /tmp/apache-maven-3.8.6-bin.tar.gz \
&& mv apache-maven-3.8.6 /opt/maven \
&& rm /tmp/apache-maven-3.8.6-bin.tar.gz \
&& echo "------------------------------------------------------ gradle" \
&& wget https://services.gradle.org/distributions/gradle-7.4.2-bin.zip -P /tmp \
&& unzip -d /opt/gradle /tmp/gradle-7.4.2-bin.zip \

View file

@ -1,21 +1,26 @@
ARG docker_registry=docker.io/alnoda
ARG image_tag=2.2
ARG image_tag=3.0
FROM ${docker_registry}/codeserver-workspace:${image_tag}
FROM ${docker_registry}/theia-workspace:${image_tag}
USER root
COPY examples/example /home/abc/example
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/java-circle.svg /home/docs/docs/assets/
COPY ./mkdocs/java-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 apt-get -y update \
&& echo "------------------------------------------------------ java 8" \
&& sudo apt-get install -y openjdk-8-jre \
&& apt-get install -y openjdk-8-jdk \
&& echo "------------------------------------------------------ maven" \
&& wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz -P /tmp \
&& tar xf /tmp/apache-maven-3.8.5-bin.tar.gz \
&& mv apache-maven-3.8.5 /opt/maven \
&& rm /tmp/apache-maven-3.8.5-bin.tar.gz \
&& wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -P /tmp \
&& tar xf /tmp/apache-maven-3.8.6-bin.tar.gz \
&& mv apache-maven-3.8.6 /opt/maven \
&& rm /tmp/apache-maven-3.8.6-bin.tar.gz \
&& echo "------------------------------------------------------ gradle" \
&& wget https://services.gradle.org/distributions/gradle-7.4.2-bin.zip -P /tmp \
&& unzip -d /opt/gradle /tmp/gradle-7.4.2-bin.zip \

View file

@ -1,14 +1,10 @@
<p align="center">
<img src="../../img/Alnoda-white.svg" alt="Alnoda logo" width="150">
</p>
<img src="./img/java-circle.svg" alt="Java logo" width="150">
</p>
# Java workspace
Docker image with Java and browser-based VS-Code version.
<p align="center">
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/codeserver-workspace/img/codeserver-collage-sm.jpg" alt="Collage" width="750">
</p>
Containerized isolated development environment for Java programming language.
## Why this images
@ -31,30 +27,24 @@ and open [localhost:8020](http://localhost:8020) in browser.
**Dev tools:**
- [**Code-server**](https://github.com/cdr/code-server) - open source version of popular Visual Studio Code IDE. Codeserver has
VS-Code extensions and works in browser.
- [**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
- **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
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

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<g id="XMLID_7_" transform="matrix(2.18986, 0, 0, 2.141408, 113.717705, 99.998886)" style="">
<path id="XMLID_8_" d="M150.99,56.513c-14.093,9.912-30.066,21.147-38.624,39.734c-14.865,32.426,30.418,67.798,32.353,69.288 c0.45,0.347,0.988,0.519,1.525,0.519c0.57,0,1.141-0.195,1.605-0.583c0.899-0.752,1.154-2.029,0.614-3.069 c-0.164-0.316-16.418-31.888-15.814-54.539c0.214-7.888,11.254-16.837,22.942-26.312c10.705-8.678,22.839-18.514,29.939-30.02 c15.586-25.327-1.737-50.231-1.914-50.479c-0.688-0.966-1.958-1.317-3.044-0.84c-1.085,0.478-1.686,1.652-1.438,2.811 c0.035,0.164,3.404,16.633-5.97,33.6C169.301,43.634,160.816,49.603,150.99,56.513z"/>
<path id="XMLID_9_" d="M210.365,67.682c0.994-0.749,1.286-2.115,0.684-3.205c-0.602-1.09-1.913-1.571-3.077-1.129 c-2.394,0.91-58.627,22.585-58.627,48.776c0,18.053,7.712,27.591,13.343,34.556c2.209,2.731,4.116,5.09,4.744,7.104 c1.769,5.804-2.422,16.294-4.184,19.846c-0.508,1.022-0.259,2.259,0.605,3.005c0.467,0.403,1.05,0.607,1.634,0.607 c0.497,0,0.996-0.148,1.427-0.448c0.967-0.673,23.63-16.696,19.565-36.001c-1.514-7.337-5.12-12.699-8.302-17.43 c-4.929-7.329-8.489-12.624-3.088-22.403C181.419,89.556,210.076,67.899,210.365,67.682z"/>
<path id="XMLID_10_" d="M63.99,177.659c-0.964,2.885-0.509,5.75,1.315,8.283c6.096,8.462,27.688,13.123,60.802,13.123 c0.002,0,0.003,0,0.004,0c4.487,0,9.224-0.088,14.076-0.262c52.943-1.896,72.58-18.389,73.39-19.09 c0.883-0.764,1.119-2.037,0.57-3.067c-0.549-1.029-1.733-1.546-2.864-1.235c-18.645,5.091-53.463,6.898-77.613,6.898 c-27.023,0-40.785-1.946-44.154-3.383c1.729-2.374,12.392-6.613,25.605-9.212c1.263-0.248,2.131-1.414,2.006-2.695 c-0.125-1.281-1.201-2.258-2.488-2.258C106.893,164.762,68.05,165.384,63.99,177.659z"/>
<path id="XMLID_11_" d="M241.148,160.673c-10.92,0-21.275,5.472-21.711,5.705c-1.01,0.541-1.522,1.699-1.245,2.811 c0.278,1.111,1.277,1.892,2.423,1.893c0.232,0.001,23.293,0.189,25.382,13.365c1.85,11.367-21.82,29.785-31.097,35.923 c-1.002,0.663-1.391,1.945-0.926,3.052c0.395,0.943,1.314,1.533,2.304,1.533c0.173,0,0.348-0.018,0.522-0.056 c2.202-0.47,53.855-11.852,48.394-41.927C261.862,164.541,250.278,160.673,241.148,160.673z"/>
<path id="XMLID_12_" d="M205.725,216.69c0.18-0.964-0.221-1.944-1.023-2.506l-12.385-8.675c-0.604-0.423-1.367-0.556-2.076-0.368 c-0.129,0.034-13.081,3.438-31.885,5.526c-7.463,0.837-15.822,1.279-24.175,1.279c-18.799,0-31.091-2.209-32.881-3.829 c-0.237-0.455-0.162-0.662-0.12-0.777c0.325-0.905,2.068-1.98,3.192-2.405c1.241-0.459,1.91-1.807,1.524-3.073 c-0.385-1.266-1.69-2.012-2.978-1.702c-12.424,2.998-18.499,7.191-18.057,12.461c0.785,9.343,22.428,14.139,40.725,15.408 c2.631,0.18,5.477,0.272,8.456,0.272c0.002,0,0.003,0,0.005,0c30.425,0,69.429-9.546,69.819-9.643 C204.818,218.423,205.544,217.654,205.725,216.69z"/>
<path id="XMLID_13_" d="M112.351,236.745c0.938-0.611,1.354-1.77,1.021-2.838c-0.332-1.068-1.331-1.769-2.453-1.755 c-1.665,0.044-16.292,0.704-17.316,10.017c-0.31,2.783,0.487,5.325,2.37,7.556c5.252,6.224,19.428,9.923,43.332,11.31 c2.828,0.169,5.7,0.254,8.539,0.254c30.39,0,50.857-9.515,51.714-9.92c0.831-0.393,1.379-1.209,1.428-2.127 c0.049-0.917-0.409-1.788-1.193-2.267l-15.652-9.555c-0.543-0.331-1.193-0.441-1.813-0.314c-0.099,0.021-10.037,2.082-25.035,4.119 c-2.838,0.385-6.392,0.581-10.562,0.581c-14.982,0-31.646-2.448-34.842-4.05C111.843,237.455,111.902,237.075,112.351,236.745z"/>
<path id="XMLID_14_" d="M133.681,290.018c69.61-0.059,106.971-12.438,114.168-20.228c2.548-2.757,2.823-5.366,2.606-7.07 c-0.535-4.194-4.354-6.761-4.788-7.04c-1.045-0.672-2.447-0.496-3.262,0.444c-0.813,0.941-0.832,2.314-0.016,3.253 c0.439,0.565,0.693,1.51-0.591,2.795c-2.877,2.687-31.897,10.844-80.215,13.294c-6.619,0.345-13.561,0.519-20.633,0.52 c-43.262,0-74.923-5.925-79.079-9.379c1.603-2.301,12.801-5.979,24.711-8.058c1.342-0.234,2.249-1.499,2.041-2.845 c-0.208-1.346-1.449-2.273-2.805-2.096c-0.336,0.045-1.475,0.115-2.796,0.195c-19.651,1.2-42.36,3.875-43.545,13.999 c-0.36,3.086,0.557,5.886,2.726,8.324c5.307,5.963,20.562,13.891,91.475,13.891C133.68,290.018,133.68,290.018,133.681,290.018z"/>
<path id="XMLID_15_" d="M261.522,271.985c-0.984-0.455-2.146-0.225-2.881,0.567c-0.103,0.11-10.568,11.054-42.035,17.48 c-12.047,2.414-34.66,3.638-67.211,3.638c-32.612,0-63.643-1.283-63.953-1.296c-1.296-0.063-2.405,0.879-2.581,2.155 c-0.177,1.276,0.645,2.477,1.897,2.775c0.323,0.077,32.844,7.696,77.31,7.696c21.327,0,42.08-1.733,61.684-5.151 c36.553-6.408,39.112-24.533,39.203-25.301C263.082,273.474,262.504,272.44,261.522,271.985z"/>
</g>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -0,0 +1 @@
Containerized isolated development environment for Java programming language.

View file

@ -0,0 +1,19 @@
[data-md-color-scheme="java"] {
--md-primary-fg-color: #2585C2;
--md-primary-fg-color--light: #9B1C16;
--md-primary-fg-color--dark: #9B1C16;
--md-accent-fg-color: #2585C2;
--md-typeset-a-color: #E61F24;
}
[data-md-color-scheme="java-dark"] {
--md-primary-fg-color: #507E9C;
--md-accent-fg-color: #F09114;
--md-default-bg-color: #111B27;
--md-default-fg-color--light: #BAAD69;
--md-typeset-color: #BAAD69;
--md-typeset-a-color: #BAAD69;
}

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none; fill: rgb(255, 255, 255);" id="path14"/>
</g>
</g>
<g id="XMLID_7_" transform="matrix(2.18986, 0, 0, 2.141408, 113.717705, 99.998886)" style="">
<path id="XMLID_8_" d="M150.99,56.513c-14.093,9.912-30.066,21.147-38.624,39.734c-14.865,32.426,30.418,67.798,32.353,69.288 c0.45,0.347,0.988,0.519,1.525,0.519c0.57,0,1.141-0.195,1.605-0.583c0.899-0.752,1.154-2.029,0.614-3.069 c-0.164-0.316-16.418-31.888-15.814-54.539c0.214-7.888,11.254-16.837,22.942-26.312c10.705-8.678,22.839-18.514,29.939-30.02 c15.586-25.327-1.737-50.231-1.914-50.479c-0.688-0.966-1.958-1.317-3.044-0.84c-1.085,0.478-1.686,1.652-1.438,2.811 c0.035,0.164,3.404,16.633-5.97,33.6C169.301,43.634,160.816,49.603,150.99,56.513z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_9_" d="M210.365,67.682c0.994-0.749,1.286-2.115,0.684-3.205c-0.602-1.09-1.913-1.571-3.077-1.129 c-2.394,0.91-58.627,22.585-58.627,48.776c0,18.053,7.712,27.591,13.343,34.556c2.209,2.731,4.116,5.09,4.744,7.104 c1.769,5.804-2.422,16.294-4.184,19.846c-0.508,1.022-0.259,2.259,0.605,3.005c0.467,0.403,1.05,0.607,1.634,0.607 c0.497,0,0.996-0.148,1.427-0.448c0.967-0.673,23.63-16.696,19.565-36.001c-1.514-7.337-5.12-12.699-8.302-17.43 c-4.929-7.329-8.489-12.624-3.088-22.403C181.419,89.556,210.076,67.899,210.365,67.682z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_10_" d="M63.99,177.659c-0.964,2.885-0.509,5.75,1.315,8.283c6.096,8.462,27.688,13.123,60.802,13.123 c0.002,0,0.003,0,0.004,0c4.487,0,9.224-0.088,14.076-0.262c52.943-1.896,72.58-18.389,73.39-19.09 c0.883-0.764,1.119-2.037,0.57-3.067c-0.549-1.029-1.733-1.546-2.864-1.235c-18.645,5.091-53.463,6.898-77.613,6.898 c-27.023,0-40.785-1.946-44.154-3.383c1.729-2.374,12.392-6.613,25.605-9.212c1.263-0.248,2.131-1.414,2.006-2.695 c-0.125-1.281-1.201-2.258-2.488-2.258C106.893,164.762,68.05,165.384,63.99,177.659z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_11_" d="M241.148,160.673c-10.92,0-21.275,5.472-21.711,5.705c-1.01,0.541-1.522,1.699-1.245,2.811 c0.278,1.111,1.277,1.892,2.423,1.893c0.232,0.001,23.293,0.189,25.382,13.365c1.85,11.367-21.82,29.785-31.097,35.923 c-1.002,0.663-1.391,1.945-0.926,3.052c0.395,0.943,1.314,1.533,2.304,1.533c0.173,0,0.348-0.018,0.522-0.056 c2.202-0.47,53.855-11.852,48.394-41.927C261.862,164.541,250.278,160.673,241.148,160.673z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_12_" d="M205.725,216.69c0.18-0.964-0.221-1.944-1.023-2.506l-12.385-8.675c-0.604-0.423-1.367-0.556-2.076-0.368 c-0.129,0.034-13.081,3.438-31.885,5.526c-7.463,0.837-15.822,1.279-24.175,1.279c-18.799,0-31.091-2.209-32.881-3.829 c-0.237-0.455-0.162-0.662-0.12-0.777c0.325-0.905,2.068-1.98,3.192-2.405c1.241-0.459,1.91-1.807,1.524-3.073 c-0.385-1.266-1.69-2.012-2.978-1.702c-12.424,2.998-18.499,7.191-18.057,12.461c0.785,9.343,22.428,14.139,40.725,15.408 c2.631,0.18,5.477,0.272,8.456,0.272c0.002,0,0.003,0,0.005,0c30.425,0,69.429-9.546,69.819-9.643 C204.818,218.423,205.544,217.654,205.725,216.69z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_13_" d="M112.351,236.745c0.938-0.611,1.354-1.77,1.021-2.838c-0.332-1.068-1.331-1.769-2.453-1.755 c-1.665,0.044-16.292,0.704-17.316,10.017c-0.31,2.783,0.487,5.325,2.37,7.556c5.252,6.224,19.428,9.923,43.332,11.31 c2.828,0.169,5.7,0.254,8.539,0.254c30.39,0,50.857-9.515,51.714-9.92c0.831-0.393,1.379-1.209,1.428-2.127 c0.049-0.917-0.409-1.788-1.193-2.267l-15.652-9.555c-0.543-0.331-1.193-0.441-1.813-0.314c-0.099,0.021-10.037,2.082-25.035,4.119 c-2.838,0.385-6.392,0.581-10.562,0.581c-14.982,0-31.646-2.448-34.842-4.05C111.843,237.455,111.902,237.075,112.351,236.745z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_14_" d="M133.681,290.018c69.61-0.059,106.971-12.438,114.168-20.228c2.548-2.757,2.823-5.366,2.606-7.07 c-0.535-4.194-4.354-6.761-4.788-7.04c-1.045-0.672-2.447-0.496-3.262,0.444c-0.813,0.941-0.832,2.314-0.016,3.253 c0.439,0.565,0.693,1.51-0.591,2.795c-2.877,2.687-31.897,10.844-80.215,13.294c-6.619,0.345-13.561,0.519-20.633,0.52 c-43.262,0-74.923-5.925-79.079-9.379c1.603-2.301,12.801-5.979,24.711-8.058c1.342-0.234,2.249-1.499,2.041-2.845 c-0.208-1.346-1.449-2.273-2.805-2.096c-0.336,0.045-1.475,0.115-2.796,0.195c-19.651,1.2-42.36,3.875-43.545,13.999 c-0.36,3.086,0.557,5.886,2.726,8.324c5.307,5.963,20.562,13.891,91.475,13.891C133.68,290.018,133.68,290.018,133.681,290.018z" style="fill: rgb(255, 255, 255);"/>
<path id="XMLID_15_" d="M261.522,271.985c-0.984-0.455-2.146-0.225-2.881,0.567c-0.103,0.11-10.568,11.054-42.035,17.48 c-12.047,2.414-34.66,3.638-67.211,3.638c-32.612,0-63.643-1.283-63.953-1.296c-1.296-0.063-2.405,0.879-2.581,2.155 c-0.177,1.276,0.645,2.477,1.897,2.775c0.323,0.077,32.844,7.696,77.31,7.696c21.327,0,42.08-1.733,61.684-5.151 c36.553-6.408,39.112-24.533,39.203-25.301C263.082,273.474,262.504,272.44,261.522,271.985z" style="fill: rgb(255, 255, 255);"/>
</g>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<g id="XMLID_7_" transform="matrix(2.18986, 0, 0, 2.141408, 113.717705, 99.998886)" style="">
<path id="XMLID_8_" d="M150.99,56.513c-14.093,9.912-30.066,21.147-38.624,39.734c-14.865,32.426,30.418,67.798,32.353,69.288 c0.45,0.347,0.988,0.519,1.525,0.519c0.57,0,1.141-0.195,1.605-0.583c0.899-0.752,1.154-2.029,0.614-3.069 c-0.164-0.316-16.418-31.888-15.814-54.539c0.214-7.888,11.254-16.837,22.942-26.312c10.705-8.678,22.839-18.514,29.939-30.02 c15.586-25.327-1.737-50.231-1.914-50.479c-0.688-0.966-1.958-1.317-3.044-0.84c-1.085,0.478-1.686,1.652-1.438,2.811 c0.035,0.164,3.404,16.633-5.97,33.6C169.301,43.634,160.816,49.603,150.99,56.513z"/>
<path id="XMLID_9_" d="M210.365,67.682c0.994-0.749,1.286-2.115,0.684-3.205c-0.602-1.09-1.913-1.571-3.077-1.129 c-2.394,0.91-58.627,22.585-58.627,48.776c0,18.053,7.712,27.591,13.343,34.556c2.209,2.731,4.116,5.09,4.744,7.104 c1.769,5.804-2.422,16.294-4.184,19.846c-0.508,1.022-0.259,2.259,0.605,3.005c0.467,0.403,1.05,0.607,1.634,0.607 c0.497,0,0.996-0.148,1.427-0.448c0.967-0.673,23.63-16.696,19.565-36.001c-1.514-7.337-5.12-12.699-8.302-17.43 c-4.929-7.329-8.489-12.624-3.088-22.403C181.419,89.556,210.076,67.899,210.365,67.682z"/>
<path id="XMLID_10_" d="M63.99,177.659c-0.964,2.885-0.509,5.75,1.315,8.283c6.096,8.462,27.688,13.123,60.802,13.123 c0.002,0,0.003,0,0.004,0c4.487,0,9.224-0.088,14.076-0.262c52.943-1.896,72.58-18.389,73.39-19.09 c0.883-0.764,1.119-2.037,0.57-3.067c-0.549-1.029-1.733-1.546-2.864-1.235c-18.645,5.091-53.463,6.898-77.613,6.898 c-27.023,0-40.785-1.946-44.154-3.383c1.729-2.374,12.392-6.613,25.605-9.212c1.263-0.248,2.131-1.414,2.006-2.695 c-0.125-1.281-1.201-2.258-2.488-2.258C106.893,164.762,68.05,165.384,63.99,177.659z"/>
<path id="XMLID_11_" d="M241.148,160.673c-10.92,0-21.275,5.472-21.711,5.705c-1.01,0.541-1.522,1.699-1.245,2.811 c0.278,1.111,1.277,1.892,2.423,1.893c0.232,0.001,23.293,0.189,25.382,13.365c1.85,11.367-21.82,29.785-31.097,35.923 c-1.002,0.663-1.391,1.945-0.926,3.052c0.395,0.943,1.314,1.533,2.304,1.533c0.173,0,0.348-0.018,0.522-0.056 c2.202-0.47,53.855-11.852,48.394-41.927C261.862,164.541,250.278,160.673,241.148,160.673z"/>
<path id="XMLID_12_" d="M205.725,216.69c0.18-0.964-0.221-1.944-1.023-2.506l-12.385-8.675c-0.604-0.423-1.367-0.556-2.076-0.368 c-0.129,0.034-13.081,3.438-31.885,5.526c-7.463,0.837-15.822,1.279-24.175,1.279c-18.799,0-31.091-2.209-32.881-3.829 c-0.237-0.455-0.162-0.662-0.12-0.777c0.325-0.905,2.068-1.98,3.192-2.405c1.241-0.459,1.91-1.807,1.524-3.073 c-0.385-1.266-1.69-2.012-2.978-1.702c-12.424,2.998-18.499,7.191-18.057,12.461c0.785,9.343,22.428,14.139,40.725,15.408 c2.631,0.18,5.477,0.272,8.456,0.272c0.002,0,0.003,0,0.005,0c30.425,0,69.429-9.546,69.819-9.643 C204.818,218.423,205.544,217.654,205.725,216.69z"/>
<path id="XMLID_13_" d="M112.351,236.745c0.938-0.611,1.354-1.77,1.021-2.838c-0.332-1.068-1.331-1.769-2.453-1.755 c-1.665,0.044-16.292,0.704-17.316,10.017c-0.31,2.783,0.487,5.325,2.37,7.556c5.252,6.224,19.428,9.923,43.332,11.31 c2.828,0.169,5.7,0.254,8.539,0.254c30.39,0,50.857-9.515,51.714-9.92c0.831-0.393,1.379-1.209,1.428-2.127 c0.049-0.917-0.409-1.788-1.193-2.267l-15.652-9.555c-0.543-0.331-1.193-0.441-1.813-0.314c-0.099,0.021-10.037,2.082-25.035,4.119 c-2.838,0.385-6.392,0.581-10.562,0.581c-14.982,0-31.646-2.448-34.842-4.05C111.843,237.455,111.902,237.075,112.351,236.745z"/>
<path id="XMLID_14_" d="M133.681,290.018c69.61-0.059,106.971-12.438,114.168-20.228c2.548-2.757,2.823-5.366,2.606-7.07 c-0.535-4.194-4.354-6.761-4.788-7.04c-1.045-0.672-2.447-0.496-3.262,0.444c-0.813,0.941-0.832,2.314-0.016,3.253 c0.439,0.565,0.693,1.51-0.591,2.795c-2.877,2.687-31.897,10.844-80.215,13.294c-6.619,0.345-13.561,0.519-20.633,0.52 c-43.262,0-74.923-5.925-79.079-9.379c1.603-2.301,12.801-5.979,24.711-8.058c1.342-0.234,2.249-1.499,2.041-2.845 c-0.208-1.346-1.449-2.273-2.805-2.096c-0.336,0.045-1.475,0.115-2.796,0.195c-19.651,1.2-42.36,3.875-43.545,13.999 c-0.36,3.086,0.557,5.886,2.726,8.324c5.307,5.963,20.562,13.891,91.475,13.891C133.68,290.018,133.68,290.018,133.681,290.018z"/>
<path id="XMLID_15_" d="M261.522,271.985c-0.984-0.455-2.146-0.225-2.881,0.567c-0.103,0.11-10.568,11.054-42.035,17.48 c-12.047,2.414-34.66,3.638-67.211,3.638c-32.612,0-63.643-1.283-63.953-1.296c-1.296-0.063-2.405,0.879-2.581,2.155 c-0.177,1.276,0.645,2.477,1.897,2.775c0.323,0.077,32.844,7.696,77.31,7.696c21.327,0,42.08-1.733,61.684-5.151 c36.553-6.408,39.112-24.533,39.203-25.301C263.082,273.474,262.504,272.44,261.522,271.985z"/>
</g>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
<g transform="matrix(2.18986, 0, 0, 2.141408, 100, 100)" style=""/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -5,9 +5,9 @@
nav:
- Home: README.md
- My apps: pages/my-apps.md
- About: about.md
- Docs: https://docs.alnoda.org/java-workspace/
# ===========================================================
# CONFIGURATION
# ===========================================================
@ -23,26 +23,24 @@ edit_uri: ""
theme:
name: 'material'
favicon: 'assets/favicon.ico'
logo: 'assets/Alnoda-logo.svg'
favicon: 'assets/java-circle.svg'
logo: 'assets/java-circle-white.svg'
custom_dir: overrides
font:
text: Bai Jamjuree
icon:
repo: fontawesome/brands/git-alt
repo: fontawesome/brands/github
features:
- navigation.instant
palette:
- scheme: default
- scheme: java
toggle:
icon: material/toggle-switch-off-outline
name: Switch to light mode
primary: brown
accent: deep orange
- scheme: slate
toggle:
icon: material/toggle-switch
icon: material/brightness-7
name: Switch to dark mode
primary: brown
accent: deep orange
- scheme: java-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

View file

@ -1,22 +1,27 @@
ARG docker_registry=docker.io/alnoda
ARG image_tag=2.2
ARG image_tag=3.0
FROM ${docker_registry}/codeserver-workspace:${image_tag}
FROM ${docker_registry}/theia-workspace:${image_tag}
USER root
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/ruby-circle.svg /home/docs/docs/assets/
COPY ./mkdocs/ruby-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 apt-get -y update \
&& export HOME="/root" \
&& echo "------------------------------------------------------ rbenv (root) " \
&& wget -q https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer -O- | bash \
&& echo 'PATH="/root/.rbenv/bin:$PATH"' >> /root/.zshrc \
&& echo 'PATH="$HOME/.rbenv/bin:$PATH"' >> /root/.zshrc \
&& echo 'eval "$(rbenv init -)"' >> /root/.zshrc \
&& export PATH="/root/.rbenv/bin:$PATH" \
&& export PATH="$HOME/.rbenv/bin:$PATH" \
&& echo "------------------------------------------------------ ruby (system global) " \
&& apt-get install -y build-essential libssl-dev libyaml-dev zlib1g-dev libffi-dev \
&& rbenv install 3.1.2 \
&& rbenv global 3.1.2 \
&& /root/.rbenv/shims/gem install bundler \
&& $HOME/.rbenv/shims/gem install bundler \
&& echo "------------------------------------------------------ user" \
&& find /home -type d | xargs -I{} chown -R abc {} \
&& find /home -type f | xargs -I{} chown abc {}

View file

@ -1,14 +1,10 @@
<p align="center">
<img src="../../img/Alnoda-white.svg" alt="Alnoda logo" width="150">
<img src="./img/ruby-circle.svg" alt="Ruby logo" width="150">
</p>
# Ruby workspace
Docker image with Ruby and browser-based VS-Code version.
<p align="center">
<img src="../codeserver-workspace/img/codeserver-collage-sm.jpg" alt="Collage" width="750">
</p>
Containerized isolated development environment for Ruby programming language.
## Why this images
@ -31,30 +27,24 @@ and open [localhost:8020](http://localhost:8020) in browser.
**Dev tools:**
- [**Code-server**](https://github.com/cdr/code-server) - open source version of popular Visual Studio Code IDE. Codeserver has
VS-Code extensions and works in browser.
- [**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
- **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
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

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<path d="M 587.815 154.687 C 611.353 154.687 631.517 156.424 651.084 163.447 C 709.954 184.574 727.145 205.318 724.698 238.083 C 723.863 249.288 721.015 266.846 716.341 287.206 L 532.502 196.574 C 527.152 178.928 519.866 165.716 504.251 156.211 C 537.269 156.211 564.277 154.687 587.815 154.687 Z M 462.468 170.299 C 479.779 169.85 494.129 173.654 504.651 182.485 C 546.738 217.805 508.49 318.371 419.099 406.778 C 329.703 495.184 222.837 538.058 180.745 502.738 C 138.654 467.418 177.302 366.853 266.692 278.447 C 333.737 212.142 410.547 171.648 462.468 170.299 Z M 725.89 291.773 L 694.459 689.331 L 328.77 713.326 L 427.057 669.152 L 558.767 569.76 L 661.028 447.525 L 719.526 333.665 L 725.89 291.773 Z M 714.749 294.821 C 705.223 332.893 687.413 380.86 655.856 425.438 C 631.952 459.207 594.729 499.789 555.187 537.773 C 509.772 581.392 461.552 621.772 426.259 645.542 C 364.039 687.44 310.404 712.832 263.513 715.606 L 347.072 505.787 L 555.187 537.773 L 507.035 352.704 L 714.749 294.821 Z M 149.709 514.546 C 149.709 514.546 151.726 526.052 171.196 535.109 L 259.532 715.606 C 257.985 715.656 256.685 715.606 255.156 715.606 C 206.241 715.606 166.767 704.1 152.092 659.631 C 137.421 615.161 149.709 514.546 149.709 514.546 Z" style="" transform="matrix(1, 0, 0, 1, 2.149046, -3.419973)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1 @@
Containerized isolated development environment for Ruby programming lannguage.

View file

@ -0,0 +1,21 @@
[data-md-color-scheme="ruby"] {
--md-primary-fg-color: #9B1C16;
--md-primary-fg-color--light: #9B1C16;
--md-primary-fg-color--dark: #9B1C16;
--md-accent-fg-color: #CC342D;
--md-typeset-a-color: #212121;
}
[data-md-color-scheme="ruby-dark"] {
--md-primary-fg-color: #CC342D;
--md-primary-fg-color--light: #CC342D;
--md-primary-fg-color--dark: #CC342D;
--md-accent-fg-color: #CC342D;
--md-default-bg-color: #0D1016;
--md-default-fg-color--light: #9CDCFE;
--md-typeset-color: #F0F0EC;
--md-typeset-a-color: #F0F0EC;
}

View file

@ -5,9 +5,9 @@
nav:
- Home: README.md
- My apps: pages/my-apps.md
- About: about.md
- Docs: https://docs.alnoda.org/ruby-workspace/
# ===========================================================
# CONFIGURATION
# ===========================================================
@ -23,26 +23,24 @@ edit_uri: ""
theme:
name: 'material'
favicon: 'assets/favicon.ico'
logo: 'assets/Alnoda-logo.svg'
favicon: 'assets/ruby-circle.svg'
logo: 'assets/ruby-circle-white.svg'
custom_dir: overrides
font:
text: Noto Sans
icon:
repo: fontawesome/brands/git-alt
repo: fontawesome/brands/github
features:
- navigation.instant
palette:
- scheme: default
- scheme: ruby-dark
toggle:
icon: material/toggle-switch-off-outline
name: Switch to light mode
primary: pink
accent: deep orange
- scheme: slate
icon: material/brightness-4
name: Switch to light mode
- scheme: ruby
toggle:
icon: material/toggle-switch
icon: material/brightness-7
name: Switch to dark mode
primary: pink
accent: deep orange
extra:
# Link to open when your logo is clicked
@ -50,21 +48,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

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none; fill: rgb(255, 255, 255);" id="path14"/>
</g>
</g>
<path d="M 587.815 154.687 C 611.353 154.687 631.517 156.424 651.084 163.447 C 709.954 184.574 727.145 205.318 724.698 238.083 C 723.863 249.288 721.015 266.846 716.341 287.206 L 532.502 196.574 C 527.152 178.928 519.866 165.716 504.251 156.211 C 537.269 156.211 564.277 154.687 587.815 154.687 Z M 462.468 170.299 C 479.779 169.85 494.129 173.654 504.651 182.485 C 546.738 217.805 508.49 318.371 419.099 406.778 C 329.703 495.184 222.837 538.058 180.745 502.738 C 138.654 467.418 177.302 366.853 266.692 278.447 C 333.737 212.142 410.547 171.648 462.468 170.299 Z M 725.89 291.773 L 694.459 689.331 L 328.77 713.326 L 427.057 669.152 L 558.767 569.76 L 661.028 447.525 L 719.526 333.665 L 725.89 291.773 Z M 714.749 294.821 C 705.223 332.893 687.413 380.86 655.856 425.438 C 631.952 459.207 594.729 499.789 555.187 537.773 C 509.772 581.392 461.552 621.772 426.259 645.542 C 364.039 687.44 310.404 712.832 263.513 715.606 L 347.072 505.787 L 555.187 537.773 L 507.035 352.704 L 714.749 294.821 Z M 149.709 514.546 C 149.709 514.546 151.726 526.052 171.196 535.109 L 259.532 715.606 C 257.985 715.656 256.685 715.606 255.156 715.606 C 206.241 715.606 166.767 704.1 152.092 659.631 C 137.421 615.161 149.709 514.546 149.709 514.546 Z" style="fill: rgb(255, 255, 255);" transform="matrix(1, 0, 0, 1, 2.149046, -3.419973)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<path d="M 587.815 154.687 C 611.353 154.687 631.517 156.424 651.084 163.447 C 709.954 184.574 727.145 205.318 724.698 238.083 C 723.863 249.288 721.015 266.846 716.341 287.206 L 532.502 196.574 C 527.152 178.928 519.866 165.716 504.251 156.211 C 537.269 156.211 564.277 154.687 587.815 154.687 Z M 462.468 170.299 C 479.779 169.85 494.129 173.654 504.651 182.485 C 546.738 217.805 508.49 318.371 419.099 406.778 C 329.703 495.184 222.837 538.058 180.745 502.738 C 138.654 467.418 177.302 366.853 266.692 278.447 C 333.737 212.142 410.547 171.648 462.468 170.299 Z M 725.89 291.773 L 694.459 689.331 L 328.77 713.326 L 427.057 669.152 L 558.767 569.76 L 661.028 447.525 L 719.526 333.665 L 725.89 291.773 Z M 714.749 294.821 C 705.223 332.893 687.413 380.86 655.856 425.438 C 631.952 459.207 594.729 499.789 555.187 537.773 C 509.772 581.392 461.552 621.772 426.259 645.542 C 364.039 687.44 310.404 712.832 263.513 715.606 L 347.072 505.787 L 555.187 537.773 L 507.035 352.704 L 714.749 294.821 Z M 149.709 514.546 C 149.709 514.546 151.726 526.052 171.196 535.109 L 259.532 715.606 C 257.985 715.656 256.685 715.606 255.156 715.606 C 206.241 715.606 166.767 704.1 152.092 659.631 C 137.421 615.161 149.709 514.546 149.709 514.546 Z" style="" transform="matrix(1, 0, 0, 1, 2.149046, -3.419973)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -4,7 +4,7 @@
# Rust workspace
Containerized isolated development environment for Rust programming lannguage.
Containerized isolated development environment for Rust programming language.
<p align="center">
<img src="../codeserver-workspace/img/codeserver-collage-sm.jpg" alt="Collage" width="750">

View file

@ -1,10 +1,14 @@
ARG docker_registry=docker.io/alnoda
ARG image_tag=2.2-17
ARG image_tag=3.0-17
FROM ${docker_registry}/java-workspace:${image_tag}
USER root
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml
COPY ./mkdocs/scala-circle.svg /home/docs/docs/assets/
COPY ./mkdocs/scala-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 "------------------------------------------------------ coursier" \
&& cd /tmp && curl -fL https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz | gzip -d > cs \

View file

@ -1,14 +1,10 @@
<p align="center">
<img src="../../img/Alnoda-white.svg" alt="Alnoda logo" width="150">
<img src="./img/scala-circle.svg" alt="Scala logo" width="150">
</p>
# Scala workspace
Docker image with Scala and browser-based VS-Code version.
<p align="center">
<img src="../codeserver-workspace/img/codeserver-collage-sm.jpg" alt="Collage" width="750">
</p>
Containerized isolated development environment for Scala programming language.
## Why this images
@ -33,30 +29,23 @@ and open [localhost:8020](http://localhost:8020) in browser.
**Dev tools:**
- [**Code-server**](https://github.com/cdr/code-server) - open source version of popular Visual Studio Code IDE. Codeserver has
VS-Code extensions and works in browser.
- [**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
- **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

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<path d="M 236.175 776.214 C 367.688 776.214 636.581 735.232 665.919 695.103 L 665.919 540.16 C 638.169 578.282 367.665 618.94 236.175 618.94 L 236.175 776.214 Z M 236.175 569.745 C 367.688 569.745 636.581 528.764 665.919 488.633 L 665.919 333.813 C 638.169 371.833 367.665 412.491 236.175 412.491 L 236.175 569.745 Z M 236.175 363.378 C 367.688 363.378 636.581 322.396 665.919 282.267 L 665.919 127.324 C 638.169 165.344 367.665 206.002 236.175 206.002 L 236.175 363.378 Z" style=""/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1 @@
Containerized isolated development environment for Scala programming language.

View file

@ -0,0 +1,20 @@
[data-md-color-scheme="scala"] {
--md-primary-fg-color: #133D46;
--md-primary-fg-color--light: #5CC6E4;
--md-primary-fg-color--dark: #DC322F;
--md-accent-fg-color: #5C7A81;
--md-default-bg-color: #d7dfe0;
--md-typeset-a-color: #DC322F;
}
[data-md-color-scheme="scala-dark"] {
--md-primary-fg-color: #002B36;
--md-accent-fg-color: #DC322F;
--md-default-bg-color: #15414C;
--md-default-fg-color--light: #5CC6E4;
--md-typeset-color: #FFFFFF;
--md-typeset-a-color: #FFFFFF;
}

View file

@ -5,9 +5,9 @@
nav:
- Home: README.md
- My apps: pages/my-apps.md
- About: about.md
- Docs: https://docs.alnoda.org/scala-workspace/
# ===========================================================
# CONFIGURATION
# ===========================================================
@ -23,26 +23,24 @@ edit_uri: ""
theme:
name: 'material'
favicon: 'assets/favicon.ico'
logo: 'assets/Alnoda-logo.svg'
favicon: 'assets/scala-circle.svg'
logo: 'assets/scala-circle-white.svg'
custom_dir: overrides
font:
text: Cambay
icon:
repo: fontawesome/brands/git-alt
repo: fontawesome/brands/github
features:
- navigation.instant
palette:
- scheme: default
- scheme: scala
toggle:
icon: material/toggle-switch-off-outline
name: Switch to light mode
primary: red
accent: deep orange
- scheme: slate
toggle:
icon: material/toggle-switch
icon: material/brightness-7
name: Switch to dark mode
primary: red
accent: deep orange
- scheme: scala-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

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none; fill: rgb(255, 255, 255);" id="path14"/>
</g>
</g>
<path d="M 236.175 776.214 C 367.688 776.214 636.581 735.232 665.919 695.103 L 665.919 540.16 C 638.169 578.282 367.665 618.94 236.175 618.94 L 236.175 776.214 Z M 236.175 569.745 C 367.688 569.745 636.581 528.764 665.919 488.633 L 665.919 333.813 C 638.169 371.833 367.665 412.491 236.175 412.491 L 236.175 569.745 Z M 236.175 363.378 C 367.688 363.378 636.581 322.396 665.919 282.267 L 665.919 127.324 C 638.169 165.344 367.665 206.002 236.175 206.002 L 236.175 363.378 Z" style="fill: rgb(255, 255, 255);"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="0 0 900 900" xmlns="http://www.w3.org/2000/svg">
<g id="g10" transform="matrix(3, 0, 0, -3, 0, 900)" style="">
<g id="g12" transform="scale(0.1)">
<path d="M 1500 3000 C 671.57 3000 0 2328.43 0 1500 C 0 671.57 671.57 0 1500 0 C 2328.43 0 3000 671.57 3000 1500 C 3000 2328.43 2328.43 3000 1500 3000 Z M 2454.59 545.41 C 2199.61 290.422 1860.6 150 1500 150 C 1139.4 150 800.387 290.422 545.406 545.41 C 290.426 800.391 150 1139.4 150 1500 C 150 1860.6 290.426 2199.61 545.406 2454.59 C 800.387 2709.57 1139.4 2850 1500 2850 C 1860.6 2850 2199.61 2709.57 2454.59 2454.59 C 2709.57 2199.61 2850 1860.6 2850 1500 C 2850 1139.4 2709.57 800.391 2454.59 545.41" style="fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path14"/>
</g>
</g>
<path d="M 236.175 776.214 C 367.688 776.214 636.581 735.232 665.919 695.103 L 665.919 540.16 C 638.169 578.282 367.665 618.94 236.175 618.94 L 236.175 776.214 Z M 236.175 569.745 C 367.688 569.745 636.581 528.764 665.919 488.633 L 665.919 333.813 C 638.169 371.833 367.665 412.491 236.175 412.491 L 236.175 569.745 Z M 236.175 363.378 C 367.688 363.378 636.581 322.396 665.919 282.267 L 665.919 127.324 C 638.169 165.344 367.665 206.002 236.175 206.002 L 236.175 363.378 Z" style=""/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB