diff --git a/workspaces/erlang-elixir-workspace/Dockerfile b/workspaces/erlang-elixir-workspace/Dockerfile new file mode 100644 index 0000000..92da880 --- /dev/null +++ b/workspaces/erlang-elixir-workspace/Dockerfile @@ -0,0 +1,34 @@ +ARG docker_registry=docker.io/alnoda +ARG image_tag=2.2-17 + +FROM ${docker_registry}/java-workspace:${image_tag} +USER root + +COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml + +RUN apt-get -y update \ + && echo "------------------------------------------------------ Erlang requirements" \ + && apt-get -y install build-essential autoconf libncurses5-dev openssl libssl-dev fop xsltproc unixodbc-dev \ + && echo "------------------------------------------------------ Kerl" \ + && cd /tmp && curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl \ + && chmod a+x kerl \ + && mv /tmp/kerl /usr/bin/ \ + && kerl update releases \ + && echo "------------------------------------------------------ user" \ + && find /home -type d | xargs -I{} chown -R abc {} \ + && find /home -type f | xargs -I{} chown abc {} + +USER abc + +RUN echo "------------------------------------------------------ Erlang/OTP (user) " \ + && kerl build 25.0 25.0 \ + && kerl install 25.0 /home/abc/erlang/25.0 \ + && export PATH="$PATH:/home/abc/erlang/25.0/bin" \ + && echo "------------------------------------------------------ Kiex, Elixir (user) " \ + && curl -sSL https://raw.githubusercontent.com/taylor/kiex/master/install | bash -s \ + && export "PATH=$PATH:/home/abc/.kiex/bin" \ + && kiex install 1.13.4 + +ENV PATH="$PATH:/home/abc/erlang/25.0/bin" +ENV PATH="$PATH:/home/abc/.kiex/bin" +ENV PATH="$PATH:/home/abc/.kiex/elixirs/elixir-1.13.4/bin" diff --git a/workspaces/erlang-elixir-workspace/README.md b/workspaces/erlang-elixir-workspace/README.md new file mode 100644 index 0000000..48768f0 --- /dev/null +++ b/workspaces/erlang-elixir-workspace/README.md @@ -0,0 +1,68 @@ +

+ Alnoda logo +

+ +# Erlang-Elixir workspace + +Docker image with Erlang, Elixir and browser-based VS-Code version. + +

+ Collage +

+ +## Why this images + +1. If you need self-hosted remote development environment. +2. If you want to be one command away from coding in Erlang, Elixir. + +## Start + +``` +docker run --name space-1 -d -p 8020-8040:8020-8040 alnoda/erlang-elixir-workspace +``` + +and open [localhost:8020](http://localhost:8020) in browser. + +## Features + +- [Erlang/OTP](https://www.erlang.org/) +- [Elixir](http://elixir-lang.org/) +- [Kerl](https://github.com/kerl/kerl) - easy building and installing of Erlang/OTP instances. +- [Kiex](https://github.com/taylor/kiex) - allows you to easily build and switch between different Elixir versions. + +**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. +- [**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**](https://docs.alnoda.org/get-started/common-features/) +- [**workspace tutorial**](https://docs.alnoda.org/erlang-elixir-workspace/tutorial/) +- [**project docs**](https://docs.alnoda.org/) + + diff --git a/workspaces/erlang-elixir-workspace/mkdocs/mkdocs.yml b/workspaces/erlang-elixir-workspace/mkdocs/mkdocs.yml new file mode 100644 index 0000000..e3682d5 --- /dev/null +++ b/workspaces/erlang-elixir-workspace/mkdocs/mkdocs.yml @@ -0,0 +1,70 @@ +# =========================================================== +# NAVIGATION +# =========================================================== + +nav: + - Home: README.md + - My apps: pages/my-apps.md + - Docs: https://docs.alnoda.org/erlang-elixir-workspace/ + + +# =========================================================== +# CONFIGURATION +# =========================================================== + +site_name: Erlang-Elixir workspace +repo_url: https://github.com/bluxmit/alnoda-workspaces +site_url: https://docs.alnoda.org +edit_uri: "" + +# =========================================================== +# APPEARANCE +# =========================================================== + +theme: + name: 'material' + favicon: 'assets/favicon.ico' + logo: 'assets/Alnoda-logo.svg' + custom_dir: overrides + icon: + repo: fontawesome/brands/git-alt + features: + - navigation.instant + palette: + - scheme: default + toggle: + icon: material/toggle-switch-off-outline + name: Switch to light mode + primary: deep purple + accent: indigo + - scheme: slate + toggle: + icon: material/toggle-switch + name: Switch to dark mode + primary: deep purple + accent: yellow + +extra: + # Link to open when your logo is clicked + homepage: https://docs.alnoda.org + host_url: http://docs.alnoda.org + +plugins: + - search + # Enable Macros and jinja2 templates + - macros: + module_name: macros/helpers + + +extra_javascript: + - javascripts/config.js + - https://polyfill.io/v3/polyfill.min.js?features=es6 + + + + + + + + + diff --git a/workspaces/octave-workspace/Dockerfile b/workspaces/octave-workspace/Dockerfile new file mode 100644 index 0000000..8b0558d --- /dev/null +++ b/workspaces/octave-workspace/Dockerfile @@ -0,0 +1,26 @@ +ARG docker_registry=docker.io/alnoda +ARG image_tag=2.2 +ARG ruby_global_version=3.1.2 + +FROM ${docker_registry}/codeserver-workspace:${image_tag} +USER root + +COPY ./mkdocs/mkdocs.yml /home/docs/mkdocs.yml + +RUN apt-get -y update \ + && echo "------------------------------------------------------ go " \ + && cd /tmp && curl -LO https://go.dev/dl/go1.18.2.linux-amd64.tar.gz \ + && tar -xvf go1.18.2.linux-amd64.tar.gz -C /usr/local \ + && rm /tmp/go1.18.2.linux-amd64.tar.gz \ + && echo "------------------------------------------------------ user" \ + && find /home -type d | xargs -I{} chown -R abc {} \ + && find /home -type f | xargs -I{} chown abc {} + +ENV PATH="$PATH:/usr/local/go/bin" +ENV PATH="$PATH:/root/go/bin" +ENV PATH="$PATH:/home/abc/go/bin" + +USER abc + + + diff --git a/workspaces/octave-workspace/README.md b/workspaces/octave-workspace/README.md new file mode 100644 index 0000000..b18d35d --- /dev/null +++ b/workspaces/octave-workspace/README.md @@ -0,0 +1,64 @@ +

+ Alnoda logo +

+ +# Go workspace + +Docker image with Octave, Octave WEB UI, browser-based VS-Code version. + +

+ Collage +

+ +## Why this images + +1. If you need self-hosted remote development environment. +2. If you want to be one terminal command away from coding in Octave. + +## Start + +``` +docker run --name space-1 -d -p 8020-8040:8020-8040 alnoda/octave-workspace +``` + +and open [localhost:8020](http://localhost:8020) in browser. + +## Features + +- + +**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. +- [**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 + +- [**getting started**](https://docs.alnoda.org/get-started/common-features/) +- [**workspace tutorial**](https://docs.alnoda.org/octave-workspace/tutorial/) +- [**workspace docs**](https://docs.alnoda.org/octave-workspace/) +- [**project docs**](https://docs.alnoda.org/) \ No newline at end of file diff --git a/workspaces/octave-workspace/img/serve-website.png b/workspaces/octave-workspace/img/serve-website.png new file mode 100644 index 0000000..a23c667 Binary files /dev/null and b/workspaces/octave-workspace/img/serve-website.png differ diff --git a/workspaces/octave-workspace/mkdocs/mkdocs.yml b/workspaces/octave-workspace/mkdocs/mkdocs.yml new file mode 100644 index 0000000..78ad0b1 --- /dev/null +++ b/workspaces/octave-workspace/mkdocs/mkdocs.yml @@ -0,0 +1,70 @@ +# =========================================================== +# NAVIGATION +# =========================================================== + +nav: + - Home: README.md + - My apps: pages/my-apps.md + - Docs: https://docs.alnoda.org/go-workspace/ + + +# =========================================================== +# CONFIGURATION +# =========================================================== + +site_name: Go workspace +repo_url: https://github.com/bluxmit/alnoda-workspaces +site_url: https://docs.alnoda.org +edit_uri: "" + +# =========================================================== +# APPEARANCE +# =========================================================== + +theme: + name: 'material' + favicon: 'assets/favicon.ico' + logo: 'assets/Alnoda-logo.svg' + custom_dir: overrides + icon: + repo: fontawesome/brands/git-alt + features: + - navigation.instant + palette: + - scheme: default + toggle: + icon: material/toggle-switch-off-outline + name: Switch to light mode + primary: light blue + accent: light blue + - scheme: slate + toggle: + icon: material/toggle-switch + name: Switch to dark mode + primary: light blue + accent: light blue + +extra: + # Link to open when your logo is clicked + homepage: https://docs.alnoda.org + host_url: http://docs.alnoda.org + +plugins: + - search + # Enable Macros and jinja2 templates + - macros: + module_name: macros/helpers + + +extra_javascript: + - javascripts/config.js + - https://polyfill.io/v3/polyfill.min.js?features=es6 + + + + + + + + +