Skip to content

InvoiceShelf/demo-shelf

Repository files navigation

Demo Shelf

Repo Banner

Create a demo site for your Docker-based web application.

Live Demo

Table of Contents

Special Shoutout

A big shout out to @louislam, the original creator of demo-kuma, for developing this amazing tool. Go give him a ⭐; he deserves it!

Features

  • Quickly create a demo for your project.
  • Automated deployment of the Docker application stack upon HTTP request.
  • Automatic shutdown of the stack when the time is up.
  • Countdown timer displayed in the bottom right corner.
  • Customisable demo duration.
  • Single port operation.

How to Use

  1. Create a stack directory named demo-shelf (IMPORTANT: Docker uses this for the network name, and this application relies on it).
  2. Download compose.yaml and compose-demo.yaml into the directory.
    • compose.yaml: This file defines the Demo Shelf stack.
      • Review all variables in the environment: section.
    • compose-demo.yaml: This file defines your demo stack.
      • By default, the main service should be named main, and the network name should be demo-shelf_default.
      • If your repository or root folder name is not demo-shelf, change the network name to {your-repo/root-folder-name}_default.
  3. Run the command docker compose up -d.
  4. (Optional) If you are in development mode, navigate to http://localhost:3003/start-demo to test the demo.

How It Works

  1. Demo Shelf takes control of your Docker environment, so ensure you run this in an isolated virtual machine or on a dedicated server.
  2. The user sends an HTTP request via a browser to initialise the demo.
  3. Demo Shelf assigns a session ID for this request and spins up the stack defined in compose-demo.yaml.
  4. Once the demo stack is started, Demo Shelf acts as a reverse proxy to facilitate communication between the browser and the individual demo stack. This is why we set the demo-shelf_default network to external in the demo stack.
  5. A timer is initiated simultaneously. When the time is up, Demo Shelf will shut down the stack.

More Screenshots

Instructions popup

Live demo

End Screen

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •