Skip to content

A one-click tool to spin up your apps and servers.

License

Notifications You must be signed in to change notification settings

elias4044/LaunchMenu

Repository files navigation

Launch Menu

A one-click tool to spin up your apps and servers. Easily launch, monitor, and kill programs from a beautiful web or desktop interface. Fully customizable and optionally secured with authentication.


Table of Contents

  • Features
  • Screenshots
  • Installation
  • Usage
  • Configuration
  • Desktop App
  • API Endpoints
  • Contributing
  • License

Features

  • Launch, monitor, and kill programs with one click
  • Optional authentication (JWT-based)
  • Customizable program list
  • Modern web and desktop UI
  • Status polling and live updates
  • Host/server info display
  • Easy configuration via config.js and .env

Screenshots

Main UI


Installation

Prerequisites

  • Node.js (v18+ recommended)
  • npm

Clone & Install

# Clone the repository
git clone https://github.com/elias4044/launchmenu.git
cd launchmenu

# Install dependencies
npm install

Configuration

  1. Copy .env.example to .env and set your secrets and credentials.
  2. Edit config.js to customize features and authentication.
  3. Edit programs.js to add or modify the programs you want to launch.

Usage

Start the Server

# Start with npm
npm start

# Or use the batch file (Windows)
start_launch_menu_server.bat

Access the Web UI

Desktop App

  • Navigate to DesktopApp and run:
npm install
npm start
  • The desktop app provides the same UI in a standalone window.

Configuration

  • config.js: Main configuration (port, features, authentication)
  • programs.js: List of launchable programs (edit to add your own)
  • .env: Secrets and credentials (JWT secret, user/password hash)
  • password_generator.js: Utility to generate password hashes for .env

API Endpoints

  • GET /programs — List all programs
  • POST /launch — Launch a program
  • POST /kill — Kill a running program
  • GET /status/:id — Get status of a program
  • GET /config — Get server config
  • POST /login — Authenticate (if enabled)
  • GET /info — Host/server info

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-xyz)
  3. Make your changes
  4. Submit a pull request

Guidelines

  • Write clear, concise commit messages
  • Document your code
  • Add tests if possible
  • Ensure your code passes linting and builds

License

This project is licensed under the MIT License.


Credits


Launch Menu

About

A one-click tool to spin up your apps and servers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published