Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wavesoft/lemon-squash-js
A server for multiple terminal sessions in tight space
https://github.com/wavesoft/lemon-squash-js
Last synced: 13 days ago
JSON representation
A server for multiple terminal sessions in tight space
- Host: GitHub
- URL: https://github.com/wavesoft/lemon-squash-js
- Owner: wavesoft
- License: apache-2.0
- Created: 2019-06-07T18:56:26.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T06:15:46.000Z (about 2 years ago)
- Last Synced: 2024-11-13T04:48:37.401Z (2 months ago)
- Language: JavaScript
- Size: 1.15 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🍋 lemon-squash.js
> Squeeze multiple interactive shell sessions into a tight space!
_Lemon squash.js_ is composed of a web-server and an embeddable javascript component that can be used to establish multiple, isolated terminal sessions into a single container. This is mainly intended for interactive guides and similar educational material, but could also be used in other places too!
# Usage
The server logic is implemented in the `lib/ServerSession.js` file. An example server implementation using express.js can be found on `server.js`
You can build a docker image and give it a try yourself using:
```
~$ docker build -t lemon-squash:latest .
~$ docker run -it --rm -p 8080:8080 --privileged lemon-squash:latest
```And then openning your browser on http://127.0.0.1:8080
**IMPORTANT** The lightweight containerization requires bind-mounting permissions. Therefore it must be launched with `--privileged` (or with the respective CGroup permissions).