Questions about Eclipse Theia

Hello Eclipse Theia developers,


I have a few question:

  1. What is the target audience?
    I have the impression that Eclipse Theia is only meant for companies that want to sell an online IDE to their customers. Is it also meant for developers that want to build their own online IDE on their own server (like me :slight_smile:)? If not, is there some kind of derivative of Eclipse Theia that I could / have to use?

  2. What is the recommend way to install Eclipse Theia on a server?
    I don’t find a lot of documentation about how to install Eclipse Theia on a server. I found the page Build your own IDE but I’m not sure if this is the one I have to follow and if it’s up-to-date. I also found an article on Digital Ocean about how to install Eclipse Theia on RHEL/CentOS 7 but this article is almost two years old and I’m not sure if the given instructions are still applicable (new software projects can change quite rapidly). If supported, I want to install Eclipse Theia on a RHEL server (for PHP development).


Thanks in advance!

Scott Trakker

Hi Scott,

Thanks for your interest in Theia. Briefly (others may elaborate):

  1. The target audience is anyone who wants to build their own IDE tool, whether that be an individual or a company.

  2. What you might be looking for is (still a WIP):
    https://github.com/eclipse-theia/theia-blueprint/issues/74
    Related:
    https://github.com/eclipse-theia/theia-blueprint/pull/168

Hello Brian,

Thanks for the feedback! Great to here that I belong to the target audience :wink: !

So I have the impression that they are still working on a server package that will be easy to install (be it a package or a docker container)?

The text on the Github page of Theia Blueprint is confusing. According to the web page it’s only about the desktop application and is it not production ready. I’m looking for a server package, and something that is relative stable (or will be in the near future).

So what is the recommend way forward? Can I already install Eclipse Theia on a RHEL server or is it still too early for that?

I actually have a third question:

  1. How/why is the interface of Eclipse Theia exactly the same as Visual Studio Code?
    Somewhere I read that Eclipse Theia uses the same text editor as Visual Studio Code: the text editor Monaco. However the interface of Eclipse Theia is also exactly the same as the interface of Visual Studio Code. Is the interface of Eclipse Theia the same interface as Visual Studio Code (at the code level) or has it been recreated/written from scratch?

@Scott-Trakker thank you for the discussion, perhaps I can help clarify a few things for you :slight_smile:

  1. What is the target audience?

As mentioned, the target audience is anyone who wants to build or use their own IDE-like application for either the cloud, desktop or both. The Eclipse Theia framework in fact allows adopters the possibility to create their own custom products (for personal, commercial or company use), and tailor it to suit their needs. The framework allows application developers the possibility to easily customize their application, and also consume VS Code extensions thanks to VS Code extension compatibility.

  1. What is the recommend way to install Eclipse Theia on a server?

The recommended way would be to build a Theia-based application, and consume it as a docker image. Like Brian mentioned, there is the ongoing effort to make Theia into an executable which can more easily be consumed in a docker image, but you can build and maintain your own image today. We also have examples you can inspire yourself from, like the following: https://github.com/theia-ide/theia-apps/tree/master/theia-docker.

  1. How/why is the interface of Eclipse Theia exactly the same as Visual Studio Code?

The default interface (which can be customized/extended with custom theia extensions) looks similar to VS Code since we believed it is what most users would be familiar with. As you’ve pointed out, we also consume the Monaco Editor (like VS Code) rather than re-implementing our own with LSP support. In addition, the framework also supports consuming VS Code extensions (as plugins) due to extension compatibility with VS Code. The framework however is not a fork of VS Code so it is written from scratch with occasionally copying over some code.

Hello @vince-fugnitto,

Thanks you for all your answers!

  1. Great to hear that it’s also meant for personal use!
  2. The page theia-ide / theia-apps is really interesting and exactly I was looking for!
    I guess it’s a matter of running the Theia PHP docker image and that’s it?
    Mmm, the links don’t work anymore and I can’t find Eclipse Theia anymore on Docker HUB?
  3. ‘Funny’ that they exactly copied the interface of Visual Studio Code. It’s not something that you often see in application development. It looks nice so it’s no problem!

@Scott-Trakker as for the docker images in theia-apps, they are examples to reference in order to build and maintain your own image to suit your needs. The images are no longer published on dockerhub, more information can be read here: https://github.com/theia-ide/theia-apps/issues/496.

@vince-fugnitto, thanks again!


So I think I have two options:

  1. Build the application using the description on the page Build your own IDE.
  2. Wait until Project Blueprint has finished creating a stable docker image/container for the browser version.

Correct?

I think the command git clone https://github.com/eclipse-theia/theia is missing on the page Build your own IDE? Or does the command yarn in combination with the package.json file retrieves all the relevant files and packages?

The difference between the Quick Start guide and the description on Build your own IDE is that the Quick Start guide uses a default package.json file?

When I have setup the server (virtual machine) I will try out the different commands.

Sorry for all the questions but I really would like to setup my own online IDE :slight_smile: (and I think Eclipe Theia is the only real option).

The VM with Eclipse Theia will be part of this setup (I will replace the logo of Laravel with Eclipse Theia; free advertisement :smiley: ).

Hey @Scott-Trakker, I hope the others don’t mind that I propose running a competitor product, but if you’re really just looking for a nice/simple out-of-the-box development environment, you could try running vscode in the browser.

Microsoft recently open sourced their web-mode implementation that they use for GitHub workspaces. Gitpod created a fork to add some missing glue code and deployment documentation. You can read how to set it up here. They provide docker images, Linux releases and more.

@msujew,

Thanks, that looks very interesting! I’m definitely going to try that out when I have setup the server (virtual machine)! The documentation isn’t completely clear however: they say you need a security token but they don’t describe how to create one or what the structure of the security token is.

It would be great if it would be as easy to setup a online IDE with Eclipse Theia!