GithubHelp home page GithubHelp logo

isabella232 / theia-apps Goto Github PK

View Code? Open in Web Editor NEW

This project forked from theia-ide/theia-apps

0.0 0.0 0.0 905 KB

Theia applications examples - docker images, desktop apps, packagings

License: Apache License 2.0

Shell 15.46% Dockerfile 35.24% TypeScript 30.19% JavaScript 17.02% Rust 0.55% Makefile 1.53%

theia-apps's Introduction

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

docker logo

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.

electron logo

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

  • 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

theia-apps's People

Contributors

1kastner avatar akosyakov avatar amnuts avatar apupier avatar avelino avatar benoitf avatar daball avatar dealfonso avatar ducngn avatar dwjbosman avatar emdfonseca avatar freakyturtle avatar jamesdrummond avatar jankoehnlein avatar jasonharrison avatar jbicker avatar jeff-tian avatar jgbradley1 avatar jgroom33 avatar kittaakos avatar lmcbout avatar marcdumais-work avatar mizux avatar paul-marechal avatar satishbabariya avatar sr229 avatar svenefftinge avatar thegecko avatar uniibu avatar vince-fugnitto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.