Theia-IDE on Always Free Tier

After building out the OCI Arcade on Oracle Always Free Tier (check out a recent blog here), I was on a roll. What was next? The inspiration came after a virtual session with some other mentors that I was working with. The need to share code, have an environment that was easy to use as well as provide a method of multiples users developing in the same workspace.

I remembered back in 2016, that I used Cloud9 which was a development environment that I could plug into with a full Java environment. We used to for our Developer Experience workshop for some client-side dev (with the client-side installation issues). Cloud9 which since got bought by AWS. And then a few years ago, Eclipse Che and Codenvy surfaced as a potential alternative. It’s still around and going strong from what I see. And I dug a little deeper into Che and found that Che’s browser-based development environment is based upon a project called Theia – a Cloud and Desktop IDE. … So bingo … here it is Theia-IDE deployed into Oracle Always Free Tier for cloud-based / browser development environment. Check out more about what we did.

(Update – 3 December 2021 – There’s been some changes to the docker hub images that were originally used. They are no longer available and hence this is currently broken if you try it. I’ve been investigating the use of the Theia-Blueprint repository to build the cloud environment which seems to be going ok. More to come).

Theia-IDE (here) is relatively simple …

  • A development environment for lots of different programming language
  • It’s highly extensible and plugs in VS Code extensions as well
  • It’s all web-based in a browser
  • There’s a compute instance under it to compile / run the code
  • You can deploy Theia anyway (and in this case on Oracle Cloud Infrastructure)

There’s a couple of things that I’ve done here …

  • Deployed this all with docker (similar to the OCI Arcade above)
  • Added SSL (though it is self-signed)
  • Added authentication (using nginx at the front)
  • Sized it up with OCI Always Free Tier

This is what the architecture looks like.

A simple deployment architecture of Theia-IDE on Oracle Cloud Infrastructure – Always Free Tier.

To get this all going, we did something similar to the OCI Arcade to.

Theia-IDE project (including nginx)

You can check out the repository (here). In this repository we focused on standing up the Theia-IDE. A few different things happen here.

  • Creating a password using htpasswd that is integrated with nginx
  • Install nginx in a docker instance
  • Install theia-ide using a docker image from docker hub and you can check them you (here)
Using Oracle Resource Manager (ORM)

You can check out the repository (here). In this repository, we focused on using Oracle Resource Manager (ORM) to provision the Theia-IDE project. In this repository, you resources for:

  • Provisioning the VCN and related network resources
  • Provisioning the compute shape
  • Executing remote scripts (on the compute)

In this ORM stack we also considered the different theia-ide docker images so we added them into the variables.

And here is the result, Theia-IDE up and running within minutes of automation with ORM on an Always Free Tier.

The README has the details there too and it’s been purposefully built in such as way that it can be run on an Always Free Tier Oracle Cloud tenancy. If you need an environment to try this out and start developing – head to the following link and sign-up. https://www.oracle.com/au/cloud/free/. Note – the compute in the Always Free Tier is currently VM.Standard.E2.1.Micro: E2-based standard compute. Processor: AMD EPYC 7551. Base frequency 2.0 GHz, max boost frequency 3.0 GHz. So, depending on what you need, this may not be sufficient.

To find more information about Oracle Resource Manager, have a look at the documentation – https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Concepts/landing.htm

Advertisement

Author: Jason Lowe

I am passionate about how organisations adopt IT quickly and sustainably to achieve a specific and measurable outcome. This thinking is supported through lean IT practices in operational support and project delivery, and adopting these practices with Oracle technologies by creating sustainable platforms. I'm also interested different perspectives and drivers - from enterprise to start-ups, academia to commercial to public sector, cost-sensitive (risk) to value-driven (reward) - all of which influences decisions that organisations make. I have a passion for community and have been called "a connector" - meeting new people that are trying to solve valuable and hard problems and connecting them with others that can validate and help realise their full potential. I've supported different organisations like TADHack and Hacking Health as a global organiser. I'm is a persistent blogger on medium.com and redthunder.blog and on LinkedIn - https://www.linkedin.com/in/lowe-jason #CommunityMatters #ItTakesAVillage

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: