Sign inSign up

zenozeng/theia

By zenozeng

•Updated almost 5 years ago

Image
0

82

zenozeng/theia repository overview

⁠Eclipse Theia Applications - Docker & Electron

Build Status PRs Welcome Questions

Collection of example cloud & desktop applications built using the Theia⁠ platform.



Note: This repository is soon to be considered deprecated and will eventually be archived. Theia Blueprint⁠ is a more polished example application based on the Eclipse Theia framework, that might be of interest. For more details, see issue #496⁠.


⁠Outline

⁠Overview

This repository contains a collection of Theia-based IDE applications (both electron desktop apps and docker images) as examples, for demo and continuous-integration purposes.

⁠Docker Image Variants

docker logo

Image NameDescriptionDocumentation
theiaide/theia⁠Theia-based JavaScript/TypeScript (Web Technologies) example application

Other Variants:

Image NameDescriptionDocumentation
theiaide/theia-cpp⁠Theia-based C/C++ example applicationdocs⁠
theiaide/theia-dart⁠Theia-based Dart example application
theiaide/theia-full⁠Theia-based example application with support for multiple languages
theiaide/theia-go⁠Theia-based Go example applicationdocs⁠
theiaide/theia-python⁠Theia-based Python example applicationdocs⁠
theiaide/theia-php⁠Theia-based PHP example applicationdocs⁠
theiaide/theia-rust⁠Theia-based Rust example applicationdocs⁠
theiaide/theia-swift⁠Theia-based Swift example application


⁠Additional Docker Examples
Image NameDescriptionDocumentation
theia-deb-build-dockerExample on how to package the IDE into a Debian packagedocs⁠
theia-https-dockerExample on how to add security layer over existing imagesdocs⁠
theia-openshift-dockerExample image for OpenShift
theia-rpm-build-dockerExample on how to package the IDE into an RPM (for RHEL/CentOS)docs⁠

⁠How to use theiaide/theia image?

Theia is actively being developed. It is recommended to use theiaide/theia:latest if you want the latest stable release of Theia or theiaide/theia:next if you want the most recent version of Theia at the time the image was built (bleeding edge).

The following pulls the image and runs Theia IDE on http://localhost:3000⁠ with the current directory as a workspace. The option of --init is added to fix the defunct process problem⁠.

# Linux, macOS, or PowerShell
docker run -it --init -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia:next

# Windows (cmd.exe)
docker run -it --init -p 3000:3000 -v "%cd%:/home/project:cached" theiaide/theia:next

You can pass additional arguments to Theia after the image name, for example to enable debugging:

# Linux, macOS, or PowerShell
docker run -it --init -p 3000:3000 --expose 9229 -p 9229:9229 -v "$(pwd):/home/project:cached" theiaide/theia:next --inspect=0.0.0.0:9229

# Windows (cmd.exe)
docker run -it --init -p 3000:3000 --expose 9229 -p 9229:9229 -v "%cd%:/home/project:cached" theiaide/theia:next --inspect=0.0.0.0:9229
⁠Electron Apps

The repository contains example Electron applications which are packaged using electron-builder. Following the steps provided in their respective README, it is possible to build and package the applications for Desktop use.

electron logo

Application NameDescriptionDocumentation
theia-cpp-electronTheia-based C/C++ desktop IDEdocs⁠
theia-electronTheia-based JavaScript/TypeScript (Web Technologies) desktop IDEdocs⁠


⁠VS Code Extensions

Many applications in the repository now include support for running VS Code extensions, and an integration to the public instance of open-vsx registry⁠, an open alternative to the Visual Studio Marketplace. The Extensions view can be opened through the Views top-level menu when starting the application.

⁠Tips & Tricks

  • ⁠Build Options:
    • --init injects an instance of tini⁠ in the container, that will wait-for and reap terminated processes, to avoid leaking PIDs.
    • --security-opt seccomp=unconfined enables running without the default seccomp profile⁠ for debugging. This option is also required if the swift REPL is needed.

⁠Contributing

Contributing⁠

⁠License

Apache 2.0⁠

Tag summary

Content type

Image

Digest

Size

105.1 MB

Last updated

almost 5 years ago

docker pull zenozeng/theia:main