Skip to content

Docker WebStorm JavaScript IDE in VNC for Cloud Container Deployment

License

Notifications You must be signed in to change notification settings

DrSnowbird/webstorm-vnc-docker

Repository files navigation

WebStorm IDE in a Docker container + Java 8 (1.8.0_191) JDK + Maven 3.6 + Python 3.5 + PIP3 18.1 + npm 3.5.2 + nodejs v4.2.6 + Gradle 5.1 + noVNC/VNC (as Cloud-based Container Desktop)

Components:

  • WebStorm version "2018.3"
  • java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
  • Apache Maven 3.6.0
  • Python 3.5.2
  • npm 6.4.1 + node v10.15.0 (from NodeSource official Node Distribution)
  • Gradle 5.1
  • VNC/noVNC for remote Desktop over Container Platform (Openshift, Kubernetes, etc.)
  • Other tools: git wget unzip vim python python-setuptools python-dev python-numpy

Requirements

  • Docker 1.13.1+ or latest 17.12.1-ce

Run (recommended for easy-start)

Image is pulling from openkbs/webstorm-vnc-docker

./run.sh

Mobile devices and Desktop PC supported / tested:

  • SmartPhones: tested ok! iPhone5 Safari works though phone screen size being too small vs the desired HD 1920x1080. It should work across all the smartphones with HTML5-capable brwosers. Hence, to access with small phone screen, run with VNC_RESOLUTION=800x600 (or adjust it to fit your phone's screen size)
  • Tablets: tested ok! Amazon Fire with noVNC works!. It should work across all the tablets with HTML5-capable brwosers. WebStorm on Amazon Fire tablet.
  • Desktop PC or MacBook: tested ok! It should work across all PCs Desktop with HTML5-capable brwosers. WebStorm on Desktop PC Browser

Connect to VNC Viewer/Client or noVNC (Browser-based VNC)

Once it is up, the default password is "vncpassword" to access with your web browser:

http://<ip_address>:6901/vnc.html,
e.g.
=> Standalone Docker: http://localhost:6901/vnc.html
=> Openshift Container Platform: http://<route-from-openshift>/vnc.html
=> similarly for Kubernetes Container Platform: (similar to the Openshift above!)

Build

You can build your own image locally.

./build.sh

Making plugins persist between sessions

If you run "./run.sh" instead of "docker-compose up", you don't have to do anything as below.

WebStorm configurations are kept on $HOME/.WebStorm2018.1 inside the container, so if you want to keep them around after you close it, you'll need to share it with your host.

For example: (Version might be different - use run.sh instead)

docker run -ti --rm \

           -v $HOME/.WebStorm2018.3:/home/developer/.WebStorm2018.3 \
           -v `pwd`:/home/developer/workspace \
           openkbs/WebStorm-docker

See Also - Other docker-based IDE

Reference

Releases information

root@1b69cb491038:/usr# ./printVersions.sh 
+ echo JAVA_HOME=/usr/java
JAVA_HOME=/usr/java
+ java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
+ mvn --version
Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T18:41:47Z)
Maven home: /usr/apache-maven-3.6.0
Java version: 1.8.0_201, vendor: Oracle Corporation, runtime: /usr/jdk1.8.0_201/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "4.15.0-43-generic", arch: "amd64", family: "unix"
+ python -V
Python 2.7.12
+ python3 -V
Python 3.5.2
+ pip --version
pip 18.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
+ pip3 --version
pip 18.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
+ gradle --version

------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------

Build time:   2019-01-10 23:05:02 UTC
Revision:     3c9abb645fb83932c44e8610642393ad62116807

Kotlin DSL:   1.1.1
Kotlin:       1.3.11
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM:          1.8.0_201 (Oracle Corporation 25.201-b09)
OS:           Linux 4.15.0-43-generic amd64

+ npm -v
6.4.1
+ node -v
v10.15.0
+ cat /etc/lsb-release /etc/os-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

About

Docker WebStorm JavaScript IDE in VNC for Cloud Container Deployment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published