Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/louislam/demo-kuma
https://github.com/louislam/demo-kuma
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/louislam/demo-kuma
- Owner: louislam
- License: mit
- Created: 2021-09-02T07:36:56.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-01-08T19:04:21.000Z (about 1 year ago)
- Last Synced: 2024-05-02T06:03:20.985Z (9 months ago)
- Language: TypeScript
- Homepage: https://demo.kuma.pet
- Size: 83 KB
- Stars: 66
- Watchers: 3
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Demo Kuma
Create a demo site for your Docker based web application.
Live Demo (Uptime Kuma):
https://demo.kuma.pet/start-demoExerciseDiary (2 mins demo) - Another selfhosted app which I found on Reddit:
https://exercisediary-demo.kuma.pet/start-demo![image](https://github.com/louislam/demo-kuma/assets/1336778/f15b5e46-5c98-419e-98e4-a2d52b91780c)
## Features
- Quickly create a demo for your project.
- Spin up a docker stack when requested, shut down the stack when time is up.
- A countdown timer at the bottom right corner.
- Custom demo duration.
- Portless demo instances design in v2, you just need one port for Demo Kuma.## How to use
1. Create a stack directory `demo-kuma`.
1. Download `compose.yaml` and `compose-demo.yaml` into the directory.
- `compose.yaml` = Demo Kuma stack
- You should go through all variables in the `environment:` section.
- `compose-demo.yaml` = The stack that you want to provide a demo
- By default, the main service should be `main` and the network name should be `demo-kuma_default`.
- If your stack name is not `demo-kuma`, you should change the network name to `{your-name}_default`
1. `docker compose up -d`.
1. Go to http://localhost:3003/start-demo to test the demo.## How it works?
1. Demo Kuma takes control of your Docker
1. User requests a demo via a browser
1. Demo Kuma assign a session ID for this request and spin up the stack `compose-demo.yaml`
1. Once the demo stack is started, Demo Kuma will act as a reverse proxy to communicate between the browser and the demo stack.
1. The timer will be created at the same time. When time is up, Demo Kuma will shut down the stack.# More screenshots
![image](https://github.com/louislam/demo-kuma/assets/1336778/c264c86a-0718-42af-a91b-20db061af7db)