Moving from cloud9 (Cloud IDE with isolated containers) to a local solution I came across ICEcoder as a Browser IDE which I can host myself.
- Why moving from c9 to local docker containers?
- Why ICEcoder?
- Steps to follow
Why c9 -> local docker containers?
I decided to save some money and leave my data on my maschine. Cloud9 runs the ACE Editor connected to containers called workspaces. One can create as many workspaces as needed and access them with an URL and start editing code, accessing terminals and interacting with it via the Browser.
This was indeed very nice especially the fact that those workspaces were isolated containers.
But as mentioned, I want to safe some money and have all my stuff locally for now.
Besides those hard facts, this was a nice project for an evening :)
Why I chose ICEcoder
After trying to setup ACE Editor, I recognized that the nice file browser on c9 is an extension they made and this is not included in the ACE Editor itself. So this was the point I was searching for other browser based IDEs / code editors.
ICEcoder looked nice at the first glance and has a file browser so the decision was made.
Plus: only PHP is needed to run it! Very few dependencies, small space used (compared to a lot of npm modules with ACE!).
Steps to setup
I created a Github repository for easy cloning (and for me also):
DarkSmile92 / rdev-container
Docker container with ace editor
This is a Docker container with ICECoder installed as isolated IDE Environment Just build the base image, then the main image and start it You are ready to develop with the ICECoder Browser IDE.
The idea was to migrate away from cloud9 and still have isolated development environments as containers Docker seemed the right choice for this task and ICECoder looked nice with minimal dependencies.
Build base image and image in one command and then run it
sudo ./build.sh && sudo docker run -p 80:80 -d rdev-container
Build the base image
cd base-image && sudo docker build -t rdev-base . && cd ..
Build the image
sudo docker build -t rdev-container .
Build the image (without cache)
sudo docker build --no-cache -t rdev-container .
Running the image
sudo docker run -p 80:80 -d rdev-container
Where to put your code / project folder?
Put your code under
quick steps - For impatient people
- Clone my Github repo
- Follow steps in Readme - Quickstart
- Open URL: http://localhost/ice
git clone https://github.com/DarkSmile92/rdev-container rdev-container cd rdev-container && sudo sh ./build.sh sudo docker run -p 80:80 --name devEnv1 -d rdev-container
For those who want details
- Clone my Github repo
git clone https://github.com/DarkSmile92/rdev-container rdev-container
- Build docker base image and the final image
I decided to split it up in case dependencies have to be changed.
- Run it with a name like devEnv1:
sudo docker run sudo docker run -p 80:80 --name devEnv1 -d rdev-container
Top comments (6)
When I saw DEV in all caps I thought this might have been about getting our repo running in a cloud IDE, which I would be very in favor of. 😋
Lemme see if I manage to get it working, then I'll post the Dockerfile for it :)
There's currently some work happening on the Docker front, I'm not super involved with that so I can't say exactly where things are with that.
In general, I really love the idea of eventually having the repo up and running in a web IDE. I think it could dramatically lower the barrier to entry.
Hi Robin, have you evaluated eclipse.org/che/
A friend who loves Docker used it a lot
Hi Kalin, I did not hear of Eclipse Che before. Seems interesting to me, thanks for the link! Will build an image with it and try it out :)
I recommend goormIDE. goormIDE also provides docker-based containers.