Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/steveiliop56/getashell
Quickly spin up ssh shells from a dead simple UI 🐚
https://github.com/steveiliop56/getashell
develop development development-tools docker dockerized linux self-hosted self-hosting shell
Last synced: 2 days ago
JSON representation
Quickly spin up ssh shells from a dead simple UI 🐚
- Host: GitHub
- URL: https://github.com/steveiliop56/getashell
- Owner: steveiliop56
- License: gpl-3.0
- Created: 2024-03-19T17:28:21.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-12-16T01:11:10.000Z (6 days ago)
- Last Synced: 2024-12-18T00:51:32.025Z (4 days ago)
- Topics: develop, development, development-tools, docker, dockerized, linux, self-hosted, self-hosting, shell
- Language: TypeScript
- Homepage:
- Size: 1.08 MB
- Stars: 61
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-homelab - Get A Shell
README
## Get A Shell 🐚
Have you ever wanted to just spin up a quick server that you can ssh into to test something real quick? Well with get a shell you can just spin up the UI select a distro and click _Get me a shell!_ and boom you have an ssh server with your specified distro. No need to spin up vms, run commands or anything harder than a click!
![Preview](screenshots/app.png)
> Warning ⚠️: The project is in maintenance mode meaning that I will not be adding new features because I have focused on other things. But if you find a bug feel free to open an issue so I can fix it. I may continue development in the future but I can't guarantee that for now.
### Installation ⏬
The installation is very simple and straight forward. You will firstly need to generate a super secure secret key with openssl. This can be done with this command:
```Bash
openssl rand -base64 32
```Now you simply need to take the output (which will be something like this: `0sWoIgLqYIskcvHbe4mENjj9btHKuOS3vDdYzhob6Mg=`) and put it in the [docker-compose](docker-compose.yml) file in the `SECRET_KEY` environment variable:
Finally just start the app with this command:
```Bash
docker compose up -d
```Alternatively you can run the application with a simple docker run command, you will still need to run the openssl command and get the secret key though. Here is the full docker run command:
```Bash
docker run -t -d --name getashell --restart unless-stopped -p 3000:3000 -v ./data:/app/data -v /var/run/docker.sock:/var/run/docker.sock -e SECRET_KEY=verylongsupersecretkeythatnobodywillsee --add-host host.docker.internal:host-gateway ghcr.io/steveiliop56/getashell:latest
```> Note 🗒️: If you don't want to run all of these commands you can install the app through [Runtipi](https://runtipi.io) which will configure everything for you.
### Tutorials and Blog Posts ✏️
Thanks a lot to the blog posts below that wrote about GetAShell:
- [Awesome Homelab](https://www.awesome-homelab.com/products/steveiliop56/getashell)
- [Belginux](https://belginux.com/installer-get-a-shell-avec-docker/)
### Contributing ❤️As I mentioned above I am fairly new to all these technologies and my code may be _probably is_ terrifying to look at. Any contributions on fixing my mistakes (lol) are welcome. In order to get started follow the Contribution Guide [here](CONTRIBUTING.md).
### License 📜
The project is licensed under the GPL V3 License. You may modify, distribute and copy the code as long as you keep the changes in the source files. Any modifications you make using a compiler must be also licensed under the GPL license and include build and install instructions.
### Credits
[Nicolas](https://github.com/meienberger), thank you once again for helping me with workflow and docker stuff lol.