theia-ide / theia-apps

Theia applications examples - docker images, desktop apps, packagings
Apache License 2.0
1.04k stars 345 forks source link
## Eclipse Theia Applications - Docker & Electron [![Build Status](https://github.com/theia-ide/theia-apps/workflows/ci-cd/badge.svg?branch=master)](https://github.com/theia-ide/theia-apps/actions?query=branch%3Amaster+event%3Apush+event%3Aschedule) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-curved)](https://github.com/theia-ide/theia-apps/labels/help%20wanted) [![Questions](https://img.shields.io/badge/Questions-blue.svg?style=flat-curved)](https://github.com/theia-ide/theia-apps/issues?utf8=%E2%9C%93&q=label%3Aquestion+) Collection of example cloud & desktop applications built using the [Theia](https://github.com/eclipse-theia/theia) platform.


Note: This repository is considered deprecated. Theia Blueprint and CDT.cloud Blueprint are more polished example applications 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

<img src='./assets/docker.png' alt='docker logo' width="125px" />

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
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
theiaide/theia-python Theia-based Python example application docs
theiaide/theia-php Theia-based PHP example application docs
theiaide/theia-rust Theia-based Rust example application docs
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-https-docker Example on how to add security layer over existing images docs
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


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.

<img src='./assets/electron.png' alt='electron logo' width="50px" />

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


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

Contributing

Contributing

License

Apache 2.0