Popularity
6.2
Growing
Activity
5.4
Declining
961
36
315

Description

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.

Programming language: Dockerfile
License: Apache License 2.0
Tags: Project Management     Software Development     IDE/Tools     Web Apps     Docker     PaaS    

Theia alternatives and similar software solutions

Based on the "IDE/Tools" category.
Alternatively, view theia-apps alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Theia or a related project?

Add another 'IDE/Tools' Software solution

README

<!-- Main Header -->

Eclipse Theia Applications - Docker & Electron

Build Status PRs Welcome Questions

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


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

Image Name Description Documentation
theiaide/theia Theia-based JavaScript/TypeScript (Web Technologies) example application

Other Variants:

Image Name Description Documentation
theiaide/theia-cpp Theia-based C/C++ example application [docs](./theia-cpp-docker/README.md)
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 application [docs](./theia-go-docker/README.md)
theiaide/theia-python Theia-based Python example application [docs](./theia-python-docker/README.md)
theiaide/theia-php Theia-based PHP example application [docs](./theia-php-docker/README.md)
theiaide/theia-rust Theia-based Rust example application [docs](./theia-rust-docker/README.md)
theiaide/theia-swift Theia-based Swift example application

Additional Docker Examples

Image Name Description Documentation
theia-deb-build-docker Example on how to package the IDE into a Debian package [docs](./theia-deb-build-docker/README.md)
theia-https-docker Example on how to add security layer over existing images [docs](./theia-https-docker/README.md)
theia-openshift-docker Example image for OpenShift
theia-rpm-build-docker Example on how to package the IDE into an RPM (for RHEL/CentOS) [docs](./theia-rpm-build-docker/README.md)

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.

Application Name Description Documentation
theia-cpp-electron Theia-based C/C++ desktop IDE [docs](./theia-cpp-electron/README.md)
theia-electron Theia-based JavaScript/TypeScript (Web Technologies) desktop IDE [docs](./theia-electron/README.md)

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](CONTRIBUTING.md)

License

[Apache 2.0](LICENSE)


*Note that all licence references and agreements mentioned in the Theia README section above are relevant to that project's source code only.