Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jonrad/theia-server-proxy-extension
Theia Extension to provide ability to integrate third party web applications. Additionally contains example integrations with RStudio and Jupyter Notebooks
https://github.com/jonrad/theia-server-proxy-extension
jupyter jupyter-notebook rstudio theia-extension theia-ide
Last synced: 3 months ago
JSON representation
Theia Extension to provide ability to integrate third party web applications. Additionally contains example integrations with RStudio and Jupyter Notebooks
- Host: GitHub
- URL: https://github.com/jonrad/theia-server-proxy-extension
- Owner: jonrad
- Created: 2021-04-07T17:57:40.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-11-14T01:11:55.000Z (about 3 years ago)
- Last Synced: 2024-09-30T09:22:39.152Z (3 months ago)
- Topics: jupyter, jupyter-notebook, rstudio, theia-extension, theia-ide
- Language: TypeScript
- Homepage:
- Size: 3.4 MB
- Stars: 9
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Theia Server Proxy Extension Monorepo
This is a monorepo containing:
* [Theia Server Proxy Extension](./packages/theia-server-proxy-extension) - Library enabling third party web applications to be served via Theia
* [Theia Server Proxy IFrame](./packages/theia-server-proxy-iframe) - Widget/UI elements for generic iframe support in theia
* [Theia Server Proxy List Extension](./packages/theia-server-proxy-list-extension) - UI to show all running server proxies. Optional but useful
* [Theia Jupyter Extension](./packages/theia-jupyter-extension) - Jupyter Notebook extension for Theia
* [Theia RStudio Extension](./packages/theia-rstudio-extension) - RStudio extension for Theia
* [Theia Port Proxy Extension](./packages/theia-port-proxy-extension) - Port Proxy extension, enabling redirecting of traffic from an arbitrary port
* [Example](./packages/browser-app) - Browser example## Screenshots
![Jupyter](screenshots/theia-jupyter.png?raw=true)
![RStudio](screenshots/theia-rstudio.png?raw=true)## Demo
Quick demo:
docker run -it --rm -p 3000:3000 jonrad/theia-datascience
# Then go to http://localhost:3000To use your own files, mount the directory you want to work with:
docker run -it --rm -p 3000:3000 -v :/home/project jonrad/theia-datascience
# Then go to http://localhost:3000## Development Prerequisites
Install [nvm](https://github.com/creationix/nvm#install-script).
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
Install npm and node.
nvm install 12
nvm use 12Install yarn.
npm install -g yarn
## Running the browser example
yarn start:browser
*or:*
yarn rebuild:browser
cd browser-app
yarn start*or:* launch `Start Browser Backend` configuration from VS code.
Open http://localhost:3000 in the browser.
## Running the Electron example
Not yet supported
## Developing with the browser example
Start watching all packages, including `browser-app`, of your application with
yarn watch
*or* watch only specific packages with
cd theia-server-proxy-extension
yarn watchand the browser example.
cd browser-app
yarn watchRun the example as [described above](#Running-the-browser-example)
## Developing with the Electron example
Not yet supported
## Publishing theia-server-proxy-extension
TODO
## Publishing theia-jupyter-extension
TODO
## Publishing theia-rstudio-extension
TODO
## Building docker image
yarn build:docker
## Publishing docker image
yarn publish:docker
## Iterating with RStudio Server on Mac
It's not worth the effort getting rstudio server to work on mac. So I found it best to just iterate within the docker container. Follow the following steps
Prerequisite: Install https://github.com/sharkdp/fd
Build the docker image from above (Alternatively, if you haven't changed the packages, you can just use the already published docker image)
In this directory start up the container
docker run -it --rm -p 3000:3000 $(fd -d 1 | sed "s#^\(.*\)#-v $PWD/\1:/home/theia/\1#" | tr '\n' ' ') --entrypoint bash jonrad/theia-datascience
yarn start:browserNow you can still develop locally and even run `yarn watch` but you'll have to start the main app in the docker container