Redis-workspace
123
workspaces/redis-workspace/1.15.0.package.json
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"theia": {
|
||||||
|
"frontend": {
|
||||||
|
"config": {
|
||||||
|
"applicationName": "Theia IDE",
|
||||||
|
"warnOnPotentiallyInsecureHostPattern": false,
|
||||||
|
"preferences": {
|
||||||
|
"files.enableTrash": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"**/*/colors": "1.4.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@theia/editor-preview": "1.15.0",
|
||||||
|
"@theia/file-search": "1.15.0",
|
||||||
|
"@theia/getting-started": "1.15.0",
|
||||||
|
"@theia/git": "1.15.0",
|
||||||
|
"@theia/markers": "1.15.0",
|
||||||
|
"@theia/messages": "1.15.0",
|
||||||
|
"@theia/monaco": "1.15.0",
|
||||||
|
"@theia/navigator": "1.15.0",
|
||||||
|
"@theia/outline-view": "1.15.0",
|
||||||
|
"@theia/plugin-ext-vscode": "1.15.0",
|
||||||
|
"@theia/preferences": "1.15.0",
|
||||||
|
"@theia/preview": "1.15.0",
|
||||||
|
"@theia/search-in-workspace": "1.15.0",
|
||||||
|
"@theia/terminal": "1.15.0",
|
||||||
|
"@theia/vsx-registry": "1.15.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@theia/cli": "1.15.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"preinstall": "node-gyp install"
|
||||||
|
},
|
||||||
|
"theiaPluginsDir": "plugins",
|
||||||
|
"theiaPlugins": {
|
||||||
|
"vscode-builtin-bat": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/bat-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-clojure": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/clojure-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-coffeescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/coffeescript-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-configuration-editing": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/configuration-editing-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-cpp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/cpp-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-csharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/csharp-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-css": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/css-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-debug-auto-launch": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/debug-auto-launch-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-docker": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/docker-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-emmet": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/emmet-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-fsharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/fsharp-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-go": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/go-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-groovy": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/groovy-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-grunt": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/grunt-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-gulp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/gulp-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-handlebars": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/handlebars-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-hlsl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/hlsl-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-html": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/html-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-html-language-features": "https://open-vsx.org/api/vscode/html-language-features/1.49.0/file/vscode.html-language-features-1.49.0.vsix",
|
||||||
|
"vscode-builtin-ini": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ini-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-jake": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/jake-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-java": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/java-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-javascript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/javascript-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-json": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/json-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix",
|
||||||
|
"vscode-builtin-less": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/less-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-log": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/log-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-lua": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/lua-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-make": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/make-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-markdown": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/markdown-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-merge-conflicts": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/merge-conflict-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-npm": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/npm-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-node-debug": "https://github.com/theia-ide/vscode-node-debug/releases/download/v1.35.3/node-debug-1.35.3.vsix",
|
||||||
|
"vscode-builtin-node-debug2": "https://github.com/theia-ide/vscode-node-debug2/releases/download/v1.33.0/node-debug2-1.33.0.vsix",
|
||||||
|
"vscode-builtin-objective-c": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/objective-c-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-perl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/perl-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-powershell": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/powershell-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-pug": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/pug-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-python": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/python-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-r": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/r-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-razor": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/razor-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-ruby": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ruby-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-rust": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/rust-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-scss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/scss-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-shaderlab": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shaderlab-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-shellscript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shellscript-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-sql": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/sql-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-swift": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/swift-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-abyss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-abyss-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-defaults": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-defaults-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-kimbie-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-kimbie-dark-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-monokai": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-dimmed": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-dimmed-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-quietlight": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-quietlight-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-red": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-red-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-solarized-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-solarized-dark-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-theme-tomorrow-night-blue": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-tomorrow-night-blue-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-typescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/typescript-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-typescript-language-features": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/typescript-language-features-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-vb": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vb-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-icon-theme-seti": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vscode-theme-seti-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-xml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/xml-1.39.1-prel.vsix",
|
||||||
|
"vscode-builtin-yaml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/yaml-1.39.1-prel.vsix",
|
||||||
|
"vscode-editorconfig": "https://github.com/theia-ide/editorconfig-vscode/releases/download/v0.14.4/EditorConfig-0.14.4.vsix",
|
||||||
|
"vscode-python": "https://open-vsx.org/api/ms-python/python/2020.8.105369/file/ms-python.python-2020.8.105369.vsix",
|
||||||
|
"nadim-vscode.infinity-dark-theme": "https://open-vsx.org/api/nadim-vscode/infinity-dark-theme/1.0.1/file/nadim-vscode.infinity-dark-theme-1.0.1.vsix",
|
||||||
|
"emroussel.atomize-atom-one-dark-theme": "https://open-vsx.org/api/emroussel/atomize-atom-one-dark-theme/1.5.5/file/emroussel.atomize-atom-one-dark-theme-1.5.5.vsix",
|
||||||
|
"mhutchie.git-graph": "https://open-vsx.org/api/mhutchie/git-graph/1.30.0/file/mhutchie.git-graph-1.30.0.vsix",
|
||||||
|
"teabyii.ayu": "https://open-vsx.org/api/teabyii/ayu/0.20.1/file/teabyii.ayu-0.20.1.vsix",
|
||||||
|
"yurihs.sublime-vscode-theme": "https://open-vsx.org/api/yurihs/sublime-vscode-theme/1.4.1/file/yurihs.sublime-vscode-theme-1.4.1.vsix",
|
||||||
|
"wesbos.theme-cobalt2": "https://open-vsx.org/api/wesbos/theme-cobalt2/2.1.6/file/wesbos.theme-cobalt2-2.1.6.vsix",
|
||||||
|
"github.github-vscode-theme": "https://open-vsx.org/api/GitHub/github-vscode-theme/4.1.1/file/GitHub.github-vscode-theme-4.1.1.vsix",
|
||||||
|
"armandphilippot.coldark": "https://open-vsx.org/api/armandphilippot/coldark/1.2.9/file/armandphilippot.coldark-1.2.9.vsix",
|
||||||
|
"radiolevity.search-lights": "https://open-vsx.org/api/radiolevity/search-lights/1.10.1/file/radiolevity.search-lights-1.10.1.vsix",
|
||||||
|
"vladeeg.vscode-theme-vlight": "https://open-vsx.org/api/Vladeeg/vscode-theme-vlight/2.1.0/file/Vladeeg.vscode-theme-vlight-2.1.0.vsix",
|
||||||
|
"akamud.vscode-theme-onelight": "https://open-vsx.org/api/akamud/vscode-theme-onelight/2.2.3/file/akamud.vscode-theme-onelight-2.2.3.vsix",
|
||||||
|
"akamud.vscode-theme-onedark": "https://open-vsx.org/api/akamud/vscode-theme-onedark/2.2.3/file/akamud.vscode-theme-onedark-2.2.3.vsix",
|
||||||
|
"laurenttreguier.vscode-simple-icons": "https://open-vsx.org/api/LaurentTreguier/vscode-simple-icons/1.16.0/file/LaurentTreguier.vscode-simple-icons-1.16.0.vsix",
|
||||||
|
"technicolor-creamsicle.deepdark-material": "https://open-vsx.org/api/technicolor-creamsicle/deepdark-material/3.3.0/file/technicolor-creamsicle.deepdark-material-3.3.0.vsix",
|
||||||
|
"cweijan.vscode-redis-client": "https://open-vsx.org/api/cweijan/vscode-redis-client/1.2.5/file/cweijan.vscode-redis-client-1.2.5.vsix"
|
||||||
|
}
|
||||||
|
}
|
110
workspaces/redis-workspace/Dockerfile
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
|
||||||
|
|
||||||
|
ARG docker_registry=docker.io/alnoda
|
||||||
|
ARG image_tag=18.04-0.9
|
||||||
|
|
||||||
|
## Images used:
|
||||||
|
ARG BUILD_IMAGE=node:12.18.3
|
||||||
|
ARG DEPLOY_IMAGE=${docker_registry}/base-workspace:${image_tag}
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################ BUILD
|
||||||
|
|
||||||
|
ARG THEIA_VERSION=1.15.0
|
||||||
|
FROM ${BUILD_IMAGE}
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################ IMAGE
|
||||||
|
|
||||||
|
FROM ${DEPLOY_IMAGE}
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
RUN mkdir -p -m 777 /opt/theia \
|
||||||
|
&& cd /opt/theia && nodeenv --node=12.18.3 env && . env/bin/activate \
|
||||||
|
&& mkdir -p -m 777 /home/project \
|
||||||
|
&& apt-get install -y libsecret-1-dev \
|
||||||
|
&& rm -rf /home/docs
|
||||||
|
|
||||||
|
COPY --from=0 /opt/theia /opt/theia
|
||||||
|
COPY settings.json /home/abc/.theia/settings.json
|
||||||
|
COPY supervisord-redis-wid.conf /etc/supervisord/
|
||||||
|
|
||||||
|
COPY mkdocs /home/docs
|
||||||
|
COPY README.md /home/docs/docs/docs.md
|
||||||
|
|
||||||
|
ENV SHELL=/bin/bash \
|
||||||
|
THEIA_DEFAULT_PLUGINS=local-dir:/opt/theia/plugins \
|
||||||
|
USE_LOCAL_GIT=true \
|
||||||
|
HOME=/home/abc \
|
||||||
|
PATH="/home/abc/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
|
||||||
|
NVM_DIR=/home/abc/.nvm
|
||||||
|
|
||||||
|
RUN apt-get -y update \
|
||||||
|
# && echo "------------------------------------------------------ utils" \
|
||||||
|
# && rm -rf /home/abc/utils || true \
|
||||||
|
# && git clone https://github.com/bluxmit/alnoda-workspaces /tmp/alnoda-workspaces \
|
||||||
|
# && mv /tmp/alnoda-workspaces/utils /home/abc/ \
|
||||||
|
# && rm -rf /tmp/alnoda-workspaces \
|
||||||
|
&& echo "------------------------------------------------------ local redis" \
|
||||||
|
&& apt-get -y install redis-server \
|
||||||
|
&& echo "------------------------------------------------------ redis tools" \
|
||||||
|
&& apt-get -y install redis-tools \
|
||||||
|
&& pip install iredis==1.10.0 \
|
||||||
|
&& echo "------------------------------------------------------ redis-dump" \
|
||||||
|
&& cd /tmp && wget https://github.com/yannh/redis-dump-go/releases/download/v0.6.0/redis-dump-go-linux-amd64.tar.gz \
|
||||||
|
&& tar -xzf redis-dump-go-linux-amd64.tar.gz \
|
||||||
|
&& chmod +x redis-dump-go \
|
||||||
|
&& mv /tmp/redis-dump-go /usr/bin/redis-dump-go \
|
||||||
|
&& rm /tmp/redis-dump-go-linux-amd64.tar.gz \
|
||||||
|
&& echo "------------------------------------------------------ redis-tui" \
|
||||||
|
&& cd /tmp && wget https://github.com/mylxsw/redis-tui/releases/download/0.1.6/redis-tui-linux \
|
||||||
|
&& chmod +x /tmp/redis-tui-linux \
|
||||||
|
&& mv /tmp/redis-tui-linux /usr/bin/redis-tui \
|
||||||
|
&& rm -rf /tmp/redis-tui-linux \
|
||||||
|
&& echo "------------------------------------------------------ redis-commander" \
|
||||||
|
&& mkdir -p -m 777 /opt/redis-commander \
|
||||||
|
&& cd /opt/redis-commander && nodeenv --node=12.18.3 env && . env/bin/activate \
|
||||||
|
&& npm install -g redis-commander@0.7.2 \
|
||||||
|
&& echo "------------------------------------------------------ user" \
|
||||||
|
&& chown -R abc /opt/theia \
|
||||||
|
&& mkdir -p /var/log/theia && chown -R abc /var/log/theia \
|
||||||
|
&& mkdir -p /var/log/redis && chown -R abc /var/log/redis \
|
||||||
|
&& mkdir -p /opt/redis && chown -R abc /opt/redis \
|
||||||
|
&& chmod 777 /var/lib/redis \
|
||||||
|
&& mkdir -p /home/redis-data && chown -R abc /home/redis-data \
|
||||||
|
&& chown -R abc /opt/redis-commander \
|
||||||
|
&& mkdir -p /var/log/redis-commander && chown -R abc /var/log/redis-commander \
|
||||||
|
&& chown -R abc /home/docs \
|
||||||
|
&& chown -R abc /home/abc/utils \
|
||||||
|
&& chown -R abc /home/abc/installed-python-packages \
|
||||||
|
&& find /home -type d | xargs -I{} chown -R abc {} \
|
||||||
|
&& find /home -type f | xargs -I{} chown abc {}
|
||||||
|
|
||||||
|
USER abc
|
||||||
|
|
||||||
|
COPY redis.conf /opt/redis/redis.conf
|
||||||
|
|
78
workspaces/redis-workspace/README.md
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Redis workspace
|
||||||
|
|
||||||
|
Docker image with Redis, and many other tools that make development with Redis much more convenient.
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/redis-workspace/img/redis-wid-collage.png" alt="Collage">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run --name rwid-1 -d -p 8020-8035:8020-8035 alnoda/redis-wid
|
||||||
|
```
|
||||||
|
|
||||||
|
open your browser on [http://localhost:8020](http://localhost:8020)
|
||||||
|
|
||||||
|
## Why
|
||||||
|
|
||||||
|
Substitute in your development `docker-compose.yaml` file standard redis image with this one, add port-mapping `-p 8020-8035:8020-8035`.
|
||||||
|
Now in addition to Redis, you've got a whole set of tools with UIs, that allow you to explore you Redis database, get and set keys, import datasets,
|
||||||
|
install Redis modules and more.
|
||||||
|
|
||||||
|
__List of tools__
|
||||||
|
|
||||||
|
- [**Eclipse Theia**](https://theia-ide.org/docs/)
|
||||||
|
- [Redis extension for VS-Code](https://open-vsx.org/extension/cweijan/vscode-redis-client)
|
||||||
|
- [Iredis](https://github.com/laixintao/iredis)
|
||||||
|
- [Redis-dump](https://github.com/yannh/redis-dump-go)
|
||||||
|
- [Redis-Tui](https://github.com/mylxsw/redis-tui)
|
||||||
|
- [Redis-commander](https://github.com/joeferner/redis-commander#readme)
|
||||||
|
|
||||||
|
in addition - [the common workspace-in-docker toolset](https://github.com/bluxmit/alnoda-workspaces/tree/main/workspaces/workspace-in-docker).
|
||||||
|
|
||||||
|
|
||||||
|
### Get started
|
||||||
|
|
||||||
|
Open workspace UI [http://localhost:800/](http://localhost:8020/) for quick access to all the tools
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/redis-workspace/img/Redis-wid.png" alt="Redis WID" width="750">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Use workspace terminal [http://localhost:8026/](http://localhost:8026/) and load some Redis datasets
|
||||||
|
```
|
||||||
|
git clone https://github.com/redis-developer/redis-datasets.git /home/project/redis-datasets
|
||||||
|
cat /home/project/redis-datasets/movie-database/import_actors.redis | redis-cli
|
||||||
|
cat /home/project/redis-datasets/movie-database/import_movies.redis | redis-cli
|
||||||
|
```
|
||||||
|
|
||||||
|
Open Redis Commander UI on [http://localhost:8029/](http://localhost:8029/) and explore Redis databeses
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/redis-workspace/img/Rediscommander.png" alt="Redis commander" width="750">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Alternatively use browser-based VS-code with Redis extension
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/redis-workspace/img/Theia-redis.png" alt="Theia" width="750">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
In the Workspace terminal launch iredis CLI, get & set keys
|
||||||
|
```
|
||||||
|
iredis
|
||||||
|
iredis --newbie
|
||||||
|
```
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/bluxmit/alnoda-workspaces/main/workspaces/redis-workspace/img/iredis.png" alt="Iredis" width="450">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Create dump of the Redis database
|
||||||
|
```
|
||||||
|
redis-dump-go -h localhost > /home/redis-movie-dump.resp
|
||||||
|
```
|
||||||
|
Use File Browser [http://localhost:8021](http://localhost:8021) to get the dump to your PC
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
workspaces/redis-workspace/img/Redis-wid.png
Normal file
After Width: | Height: | Size: 716 KiB |
BIN
workspaces/redis-workspace/img/Rediscommander.png
Normal file
After Width: | Height: | Size: 417 KiB |
BIN
workspaces/redis-workspace/img/Theia-redis.png
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
workspaces/redis-workspace/img/iredis.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
workspaces/redis-workspace/img/redis-wid-collage.png
Normal file
After Width: | Height: | Size: 4 MiB |
68
workspaces/redis-workspace/mkdocs/.gitignore
vendored
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
env/
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*,cover
|
||||||
|
.hypothesis/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# IPython Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# virtualenv
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
|
||||||
|
# MkDocs documentation
|
||||||
|
site/
|
28
workspaces/redis-workspace/mkdocs/docs/README.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
**This is a starting point to create docs for this workspace!**
|
||||||
|
|
||||||
|
> Don't neglect documentation for your workspace! Soon you will forget what you were doing with it.
|
||||||
|
> This page exists for you to modify it, and write down everything you need to know next time you come here.
|
||||||
|
|
||||||
|
In order to change this page, simply modify the file `/home/docs/docs/README.md`. Changes will be applied automatically - the
|
||||||
|
server that serves this page has live reload.
|
||||||
|
|
||||||
|
In order to add a new doc file, it is enough to create a file in the folder `/home/docs/docs` and add respective entry
|
||||||
|
to the configuratiion file `/home/docs/mkdcs.yaml`.
|
||||||
|
|
||||||
|
Open workspace terminal, and create new documentation file with some text at your will, and save changes
|
||||||
|
|
||||||
|
> `nano /home/docs/docs/new.md`
|
||||||
|
|
||||||
|
edit file `mkdcs.yaml`
|
||||||
|
|
||||||
|
> `nano /home/docs/mkdcs.yaml`
|
||||||
|
|
||||||
|
Add record about the new file to **nav**, and save changes
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
nav:
|
||||||
|
- Home: pages/home/home.md
|
||||||
|
- About: README.md
|
||||||
|
- Get started: get-started.md
|
||||||
|
- New: new.md
|
||||||
|
```
|
|
@ -0,0 +1,70 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1280" height="1024" viewBox="0 0 10000 9600" xml:space="preserve">
|
||||||
|
<desc>Created with Fabric.js 3.6.3</desc>
|
||||||
|
<defs>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(2,0,0,2,640,512)" id="background-logo" >
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(2,0,0,2,640,416.3)" id="logo-logo" >
|
||||||
|
<g transform="matrix(18.9,0,0,24.4,-502.2,-1009.3)" style="" paint-order="stroke" >
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,0,-61.6)" >
|
||||||
|
<path style="fill: rgb(64, 50, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1625,-1745)" d="M 3062 1050.1 c -466.3 107.3 -950.8 107.3 -1417.1 0 c -16.2 -3.7 -26.6 -18.2 -23.3 -32.1 c 3.4 -13.9 19 -22.1 34.9 -18.4 c 458.6 105.5 935.2 105.5 1393.9 0 c 15.9 -3.7 31.5 4.5 34.9 18.4 c 3.4 13.9 -7 28.4 -23.3 32.1" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-95.7,12.6)" >
|
||||||
|
<path style="fill: rgb(64, 50, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1210,-1423.3)" d="M 1847.7 878.7 c 0 52.1 44.1 94.1 97 90.6 c 48.2 -3.2 84.6 -45.5 84.6 -93.8 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 384 c 0 76.7 -58.8 142.8 -135.5 146.6 c -81.9 4 -149.8 -61.4 -149.8 -142.5 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 388.2" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-111.1,21.9)" >
|
||||||
|
<path style="fill: rgb(81, 173, 229); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1143.2,-1383.2)" d="M 1861.3 912.4 v -419.2 c 0 -5.8 4.7 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-103.4,18.6)" >
|
||||||
|
<path style="fill: rgb(81, 173, 229); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1176.6,-1397.2)" d="M 1894.7 940.4 v -447.2 c 0 -5.8 4.7 -10.5 10.4 -10.5 c 5.7 0 10.4 4.7 10.4 10.5 v 447.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-95.7,17.5)" >
|
||||||
|
<path style="fill: rgb(81, 173, 229); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1210,-1401.8)" d="M 1928.1 949.5 v -456.1 c 0 -5.9 4.6 -10.6 10.4 -10.6 c 5.7 0 10.4 4.8 10.4 10.6 v 456.1 c 0 5.9 -4.6 10.7 -10.4 10.7 c -5.7 0 -10.4 -4.8 -10.4 -10.7" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-88,18.6)" >
|
||||||
|
<path style="fill: rgb(81, 173, 229); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1243.4,-1397.2)" d="M 1961.5 939.8 v -445.9 c 0 -6.1 4.6 -11.1 10.4 -11.1 c 5.7 0 10.4 5 10.4 11.1 v 445.9 c 0 6.1 -4.7 11.1 -10.4 11.1 c -5.7 0 -10.4 -5 -10.4 -11.1" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-80.3,21.9)" >
|
||||||
|
<path style="fill: rgb(81, 173, 229); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1276.8,-1383.2)" d="M 1994.9 912.4 v -419.2 c 0 -5.8 4.6 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.7 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,0,12.6)" >
|
||||||
|
<path style="fill: rgb(64, 50, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1625,-1423.3)" d="M 2262.7 878.7 c 0 52.1 44.1 94.1 97 90.6 c 48.2 -3.2 84.6 -45.5 84.6 -93.8 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 384 c 0 76.7 -58.8 142.8 -135.5 146.6 c -81.9 4 -149.8 -61.4 -149.8 -142.5 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 388.2" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-15.4,21.9)" >
|
||||||
|
<path style="fill: rgb(191, 27, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1558.2,-1383.2)" d="M 2276.3 912.4 v -419.2 c 0 -5.8 4.7 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,-7.7,18.6)" >
|
||||||
|
<path style="fill: rgb(191, 27, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1591.6,-1397.2)" d="M 2309.7 940.4 v -447.2 c 0 -5.8 4.7 -10.5 10.4 -10.5 c 5.7 0 10.4 4.7 10.4 10.5 v 447.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,0,17.5)" >
|
||||||
|
<path style="fill: rgb(191, 27, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1625,-1401.8)" d="M 2343.1 949.5 v -456.1 c 0 -5.9 4.6 -10.6 10.4 -10.6 c 5.7 0 10.4 4.8 10.4 10.6 v 456.1 c 0 5.9 -4.6 10.7 -10.4 10.7 c -5.7 0 -10.4 -4.8 -10.4 -10.7" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,7.7,18.6)" >
|
||||||
|
<path style="fill: rgb(191, 27, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1658.4,-1397.2)" d="M 2376.5 939.8 v -445.9 c 0 -6.1 4.6 -11.1 10.4 -11.1 c 5.7 0 10.4 5 10.4 11.1 v 445.9 c 0 6.1 -4.7 11.1 -10.4 11.1 c -5.7 0 -10.4 -5 -10.4 -11.1" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,15.4,21.9)" >
|
||||||
|
<path style="fill: rgb(191, 27, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1691.8,-1383.2)" d="M 2409.9 912.4 v -419.2 c 0 -5.8 4.6 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.7 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,95.7,12.6)" >
|
||||||
|
<path style="fill: rgb(64, 50, 44); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-2040,-1423.3)" d="M 2677.7 878.7 c 0 52.1 44.1 94.1 97 90.6 c 48.2 -3.2 84.6 -45.5 84.6 -93.8 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 384 c 0 76.7 -58.8 142.8 -135.5 146.6 c -81.9 4 -149.8 -61.4 -149.8 -142.5 V 490.5 c 0 -14.3 11.6 -25.9 25.9 -25.9 c 14.3 0 25.9 11.6 25.9 25.9 v 388.2" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,80.3,21.9)" >
|
||||||
|
<path style="fill: rgb(128, 204, 40); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-1973.2,-1383.2)" d="M 2691.3 912.4 v -419.2 c 0 -5.8 4.7 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,88,18.6)" >
|
||||||
|
<path style="fill: rgb(128, 204, 40); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-2006.6,-1397.2)" d="M 2724.7 940.4 v -447.2 c 0 -5.8 4.7 -10.5 10.4 -10.5 c 5.7 0 10.4 4.7 10.4 10.5 v 447.2 c 0 5.8 -4.6 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,95.7,17.5)" >
|
||||||
|
<path style="fill: rgb(128, 204, 40); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-2040,-1401.8)" d="M 2758.1 949.5 v -456.1 c 0 -5.9 4.6 -10.6 10.4 -10.6 c 5.7 0 10.4 4.8 10.4 10.6 v 456.1 c 0 5.9 -4.6 10.7 -10.4 10.7 c -5.7 0 -10.4 -4.8 -10.4 -10.7" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,103.4,18.6)" >
|
||||||
|
<path style="fill: rgb(128, 204, 40); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-2073.4,-1397.2)" d="M 2791.5 939.8 v -445.9 c 0 -6.1 4.6 -11.1 10.4 -11.1 c 5.7 0 10.4 5 10.4 11.1 v 445.9 c 0 6.1 -4.7 11.1 -10.4 11.1 c -5.7 0 -10.4 -5 -10.4 -11.1" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.2,0,0,-0.2,111.1,21.9)" >
|
||||||
|
<path style="fill: rgb(128, 204, 40); fill-rule: nonzero; stroke: none; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-dasharray: none; stroke-dashoffset: 0; stroke-miterlimit: 4; opacity: 1" paint-order="stroke" transform="translate(-2106.8,-1383.2)" d="M 2824.8 912.4 v -419.2 c 0 -5.8 4.6 -10.4 10.4 -10.4 c 5.7 0 10.4 4.7 10.4 10.4 v 419.2 c 0 5.8 -4.7 10.4 -10.4 10.4 c -5.7 0 -10.4 -4.7 -10.4 -10.4" stroke-linecap="round" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/assets/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
16
workspaces/redis-workspace/mkdocs/docs/javascript/config.js
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
window.MathJax = {
|
||||||
|
tex: {
|
||||||
|
inlineMath: [["\\(", "\\)"]],
|
||||||
|
displayMath: [["\\[", "\\]"]],
|
||||||
|
processEscapes: true,
|
||||||
|
processEnvironments: true
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
ignoreHtmlClass: ".*|",
|
||||||
|
processHtmlClass: "arithmatex"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
document$.subscribe(() => {
|
||||||
|
MathJax.typesetPromise()
|
||||||
|
})
|
133
workspaces/redis-workspace/mkdocs/docs/pages/home/home.md
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
<style>
|
||||||
|
/* These styles apply only to this page! */
|
||||||
|
.md-content__button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.md-typeset h1 {
|
||||||
|
line-height: 0;
|
||||||
|
margin: 0;
|
||||||
|
margin-left: -9999px;
|
||||||
|
}
|
||||||
|
.quickstart-wrapper {
|
||||||
|
min-width: 300px;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: center;
|
||||||
|
padding-left: -50px;
|
||||||
|
column-gap: 50px;
|
||||||
|
row-gap: 50px;
|
||||||
|
}
|
||||||
|
.quickstart-wrapper > div {
|
||||||
|
flex: 300px;
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
||||||
|
.tool-img{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.24) 0px 5px 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
min-width: 300px;
|
||||||
|
max-width: 300px;
|
||||||
|
max-height: 170px;
|
||||||
|
min-height: 170px;
|
||||||
|
}
|
||||||
|
.tool-caption{
|
||||||
|
font-family: Roboto, Helvetica, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 10px;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
/* font-size: 1.25em;
|
||||||
|
font-weight: 400; */
|
||||||
|
letter-spacing: -.02em;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
.tool-description{
|
||||||
|
font-family: Helvetica, sans-serif;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 10px;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
font-style: oblique;
|
||||||
|
/* font-weight: bold; */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
{%
|
||||||
|
set tools = [
|
||||||
|
{
|
||||||
|
"env": "IDE_URL",
|
||||||
|
"name": "IDE",
|
||||||
|
"image": "IDE.jpg",
|
||||||
|
"description": "Browser-based version of Visual Studio Code. Develop in any language, install hundreeds of extensions"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "TERMINAL_URL",
|
||||||
|
"name": "Terminal",
|
||||||
|
"image": "Terminal.png",
|
||||||
|
"description": "Full-fledged browser-based terminal with Z-shell"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "FILEBROWSER_URL",
|
||||||
|
"name": "File Browser",
|
||||||
|
"image": "Filebrowser.png",
|
||||||
|
"description": "Browse, upload and download files and folders to and from the Workspace"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "REDIS_COMMANDER_URL",
|
||||||
|
"name": "Redis Commander",
|
||||||
|
"image": "Redis-commander.png",
|
||||||
|
"description": "Redis web management tool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "CRONICLE_URL",
|
||||||
|
"name": "Cronicle",
|
||||||
|
"image": "Cronicle.jpg",
|
||||||
|
"description": "Schedule jobs, manage schedules, observe and monitor executions (user/pass - admin/admin)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "UNGIT_URL",
|
||||||
|
"name": "Ungit",
|
||||||
|
"image": "Ungit.jpg",
|
||||||
|
"description": "Manage Git repositories and work flow using beautiful UI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"env": "STATICFS_URL",
|
||||||
|
"name": "Static File Server",
|
||||||
|
"image": "Static-server.png",
|
||||||
|
"description": "Serve any static websites like a breeze"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
%}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="quickstart-wrapper">
|
||||||
|
{% for tool in tools %}
|
||||||
|
{% set tool_url = get_tool_url(tool.env) %}
|
||||||
|
<div>
|
||||||
|
<a href="{{ tool_url }}" target="_blank" rel="noopener noreferrer">
|
||||||
|
<img src="{{ tool.image }}" class="tool-img"/>
|
||||||
|
</a>
|
||||||
|
<a href="{{ tool_url }}">
|
||||||
|
<div class="tool-caption">{{ tool.name }}</div>
|
||||||
|
</a>
|
||||||
|
<div class="tool-description">{{ tool.description }}</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
After Width: | Height: | Size: 250 KiB |
After Width: | Height: | Size: 124 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/pages/home/home/Htop.jpg
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/pages/home/home/IDE.jpg
Normal file
After Width: | Height: | Size: 192 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/pages/home/home/MC.jpg
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/pages/home/home/MkDocs.png
Executable file
After Width: | Height: | Size: 652 KiB |
After Width: | Height: | Size: 280 KiB |
After Width: | Height: | Size: 169 KiB |
After Width: | Height: | Size: 58 KiB |
BIN
workspaces/redis-workspace/mkdocs/docs/pages/home/home/Ungit.jpg
Normal file
After Width: | Height: | Size: 155 KiB |
58
workspaces/redis-workspace/mkdocs/macros/helpers.py
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
"""
|
||||||
|
Basic example of a Mkdocs-macros module.
|
||||||
|
Include this {{ macros_info() }} in any page to get complete macro info
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
|
||||||
|
port_increments = {
|
||||||
|
"DOCS_URL": 0,
|
||||||
|
"FILEBROWSER_URL": 1,
|
||||||
|
"STATICFS_URL": 2,
|
||||||
|
"CRONICLE_URL": 3,
|
||||||
|
"UNGIT_URL": 4,
|
||||||
|
"IDE_URL": 5,
|
||||||
|
"TERMINAL_URL": 6,
|
||||||
|
"MC_URL": 7,
|
||||||
|
"HTOP_URL": 8,
|
||||||
|
"REDIS_COMMANDER_URL": 9
|
||||||
|
}
|
||||||
|
|
||||||
|
# this function name should not be changed
|
||||||
|
def define_env(env):
|
||||||
|
"""
|
||||||
|
This is the hook for defining variables, macros and filters
|
||||||
|
- variables: the dictionary that contains the environment variables
|
||||||
|
- macro: a decorator function, to declare a macro.
|
||||||
|
- filter: a function with one of more arguments,
|
||||||
|
used to perform a transformation
|
||||||
|
"""
|
||||||
|
@env.macro
|
||||||
|
def get_tool_url(env):
|
||||||
|
try:
|
||||||
|
return os.environ[name]
|
||||||
|
except:
|
||||||
|
# Get host
|
||||||
|
host = "localhost"
|
||||||
|
try:
|
||||||
|
host = os.environ["WRK_HOST"]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
proto = "http"
|
||||||
|
try:
|
||||||
|
proto = os.environ["WRK_PROTO"]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
# Entry port - port relative to which other ports will be calculated
|
||||||
|
entry_port = 8020
|
||||||
|
try:
|
||||||
|
entry_port = int(os.environ["ENTRY_PORT"])
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
# Assign port
|
||||||
|
try:
|
||||||
|
port = port_increments[env] + entry_port
|
||||||
|
except:
|
||||||
|
port = 80
|
||||||
|
return f"{proto}://{host}:{port}"
|
||||||
|
|
||||||
|
|
70
workspaces/redis-workspace/mkdocs/mkdocs.yml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
# ===========================================================
|
||||||
|
# NAVIGATION
|
||||||
|
# ===========================================================
|
||||||
|
|
||||||
|
nav:
|
||||||
|
- Home: pages/home/home.md
|
||||||
|
- About: README.md
|
||||||
|
- Docs: docs.md
|
||||||
|
|
||||||
|
|
||||||
|
# ===========================================================
|
||||||
|
# CONFIGURATION
|
||||||
|
# ===========================================================
|
||||||
|
|
||||||
|
site_name: My Workspace
|
||||||
|
repo_url: https://github.com/bluxmit/alnoda-workspaces
|
||||||
|
site_url: https://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: red
|
||||||
|
accent: deep orange
|
||||||
|
- scheme: slate
|
||||||
|
toggle:
|
||||||
|
icon: material/toggle-switch
|
||||||
|
name: Switch to dark mode
|
||||||
|
primary: deep orange
|
||||||
|
accent: red
|
||||||
|
|
||||||
|
extra:
|
||||||
|
# Link to open when your logo is clicked
|
||||||
|
homepage: https://alnoda.org
|
||||||
|
host_url: http://localhost
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
1
workspaces/redis-workspace/redis.conf
Normal file
|
@ -0,0 +1 @@
|
||||||
|
dir /home/redis-data
|
5
workspaces/redis-workspace/settings.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"terminal.integrated.shell.linux": "/bin/zsh",
|
||||||
|
"workbench.colorTheme": "Search Lights Italic",
|
||||||
|
"git-graph.maxDepthOfRepoSearch": 3
|
||||||
|
}
|
26
workspaces/redis-workspace/supervisord-redis-wid.conf
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
|
||||||
|
[program:theia]
|
||||||
|
directory=/opt/theia
|
||||||
|
command=/bin/sh -c " . env/bin/activate && node /opt/theia/src-gen/backend/main.js --hostname=0.0.0.0 --port=8025 /home "
|
||||||
|
stderr_logfile = /var/log/theia/theia-stderr.log
|
||||||
|
stdout_logfile = /var/log/theia/theia-stdout.log
|
||||||
|
logfile_maxbytes = 1024
|
||||||
|
|
||||||
|
|
||||||
|
[program:redis-server]
|
||||||
|
command=redis-server /opt/redis/redis.conf
|
||||||
|
autostart=true
|
||||||
|
autorestart=true
|
||||||
|
stdout_logfile=/var/log/redis/stdout.log
|
||||||
|
stderr_logfile=/var/log/redis/stderr.log
|
||||||
|
|
||||||
|
[program:redis-commander]
|
||||||
|
directory=/opt/redis-commander
|
||||||
|
command=/bin/sh -c " . env/bin/activate && redis-commander --port=8029"
|
||||||
|
stderr_logfile = /var/log/redis-commander/redis-commander-stderr.log
|
||||||
|
stdout_logfile = /var/log/redis-commander/redis-commander-stdout.log
|
||||||
|
logfile_maxbytes = 1024
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"resolutions": {
|
||||||
|
"**/*/colors": "1.4.0"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@theia/editor-preview": "1.15.0",
|
"@theia/editor-preview": "1.15.0",
|
||||||
"@theia/file-search": "1.15.0",
|
"@theia/file-search": "1.15.0",
|
||||||
|
@ -107,10 +110,14 @@
|
||||||
"teabyii.ayu": "https://open-vsx.org/api/teabyii/ayu/0.20.1/file/teabyii.ayu-0.20.1.vsix",
|
"teabyii.ayu": "https://open-vsx.org/api/teabyii/ayu/0.20.1/file/teabyii.ayu-0.20.1.vsix",
|
||||||
"yurihs.sublime-vscode-theme": "https://open-vsx.org/api/yurihs/sublime-vscode-theme/1.4.1/file/yurihs.sublime-vscode-theme-1.4.1.vsix",
|
"yurihs.sublime-vscode-theme": "https://open-vsx.org/api/yurihs/sublime-vscode-theme/1.4.1/file/yurihs.sublime-vscode-theme-1.4.1.vsix",
|
||||||
"wesbos.theme-cobalt2": "https://open-vsx.org/api/wesbos/theme-cobalt2/2.1.6/file/wesbos.theme-cobalt2-2.1.6.vsix",
|
"wesbos.theme-cobalt2": "https://open-vsx.org/api/wesbos/theme-cobalt2/2.1.6/file/wesbos.theme-cobalt2-2.1.6.vsix",
|
||||||
|
"github.github-vscode-theme": "https://open-vsx.org/api/GitHub/github-vscode-theme/4.1.1/file/GitHub.github-vscode-theme-4.1.1.vsix",
|
||||||
"armandphilippot.coldark": "https://open-vsx.org/api/armandphilippot/coldark/1.2.9/file/armandphilippot.coldark-1.2.9.vsix",
|
"armandphilippot.coldark": "https://open-vsx.org/api/armandphilippot/coldark/1.2.9/file/armandphilippot.coldark-1.2.9.vsix",
|
||||||
"radiolevity.search-lights": "https://open-vsx.org/api/radiolevity/search-lights/1.10.1/file/radiolevity.search-lights-1.10.1.vsix",
|
"radiolevity.search-lights": "https://open-vsx.org/api/radiolevity/search-lights/1.10.1/file/radiolevity.search-lights-1.10.1.vsix",
|
||||||
"vladeeg.vscode-theme-vlight": "https://open-vsx.org/api/Vladeeg/vscode-theme-vlight/2.1.0/file/Vladeeg.vscode-theme-vlight-2.1.0.vsix",
|
"vladeeg.vscode-theme-vlight": "https://open-vsx.org/api/Vladeeg/vscode-theme-vlight/2.1.0/file/Vladeeg.vscode-theme-vlight-2.1.0.vsix",
|
||||||
"akamud.vscode-theme-onelight": "https://open-vsx.org/api/akamud/vscode-theme-onelight/2.2.3/file/akamud.vscode-theme-onelight-2.2.3.vsix",
|
"akamud.vscode-theme-onelight": "https://open-vsx.org/api/akamud/vscode-theme-onelight/2.2.3/file/akamud.vscode-theme-onelight-2.2.3.vsix",
|
||||||
"akamud.vscode-theme-onedark": "https://open-vsx.org/api/akamud/vscode-theme-onedark/2.2.3/file/akamud.vscode-theme-onedark-2.2.3.vsix"
|
"akamud.vscode-theme-onedark": "https://open-vsx.org/api/akamud/vscode-theme-onedark/2.2.3/file/akamud.vscode-theme-onedark-2.2.3.vsix",
|
||||||
|
"emroussel.atom-icons": "https://open-vsx.org/api/emroussel/atom-icons/1.2.0/file/emroussel.atom-icons-1.2.0.vsix",
|
||||||
|
"laurenttreguier.vscode-simple-icons": "https://open-vsx.org/api/LaurentTreguier/vscode-simple-icons/1.16.0/file/LaurentTreguier.vscode-simple-icons-1.16.0.vsix",
|
||||||
|
"technicolor-creamsicle.deepdark-material": "https://open-vsx.org/api/technicolor-creamsicle/deepdark-material/3.3.0/file/technicolor-creamsicle.deepdark-material-3.3.0.vsix"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
|
|
||||||
ARG docker_registry=docker.io/alnoda
|
ARG docker_registry=docker.io/alnoda
|
||||||
ARG image_tag=18.04-0.9
|
ARG image_tag=18.04-0.8
|
||||||
|
|
||||||
## Images used:
|
## Images used:
|
||||||
ARG BUILD_IMAGE=node:12.18.3
|
ARG BUILD_IMAGE=node:12.18.3
|
||||||
|
@ -48,7 +48,6 @@ USER root
|
||||||
RUN mkdir -p -m 777 /opt/theia \
|
RUN mkdir -p -m 777 /opt/theia \
|
||||||
&& cd /opt/theia && nodeenv --node=12.18.3 env && . env/bin/activate \
|
&& cd /opt/theia && nodeenv --node=12.18.3 env && . env/bin/activate \
|
||||||
&& mkdir -p -m 777 /home/project \
|
&& mkdir -p -m 777 /home/project \
|
||||||
&& apt-get update \
|
|
||||||
&& apt-get install -y libsecret-1-dev \
|
&& apt-get install -y libsecret-1-dev \
|
||||||
&& rm -rf /home/docs
|
&& rm -rf /home/docs
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ def define_env(env):
|
||||||
@env.macro
|
@env.macro
|
||||||
def get_tool_url(env):
|
def get_tool_url(env):
|
||||||
try:
|
try:
|
||||||
return os.environ[env]
|
return os.environ[name]
|
||||||
except:
|
except:
|
||||||
# Get host
|
# Get host
|
||||||
host = "localhost"
|
host = "localhost"
|
||||||
|
|