https://github.com/launchrctl/web
Web is a launchr plugin which provides a GUI to visualize and execute actions from the browser
https://github.com/launchrctl/web
cli launchr launchrctl plugin ui webapp
Last synced: 8 months ago
JSON representation
Web is a launchr plugin which provides a GUI to visualize and execute actions from the browser
- Host: GitHub
- URL: https://github.com/launchrctl/web
- Owner: launchrctl
- License: apache-2.0
- Created: 2024-02-11T23:26:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-08T15:08:06.000Z (9 months ago)
- Last Synced: 2025-10-08T17:29:21.931Z (9 months ago)
- Topics: cli, launchr, launchrctl, plugin, ui, webapp
- Language: TypeScript
- Homepage:
- Size: 1.83 MB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Launchr Web plugin
Launchr Web plugin is an extenstion to [Launchr](https://github.com/launchrctl/launchr) to run actions via Web UI.
The plugin consists of a Backend API and a Frontend client.
## Table of contents
* [Usage](#usage)
* [Development](#development)
* [Web UI Customization](#web-ui-customization)
## Usage
Build `launchr` from source locally. Build dependencies:
1. `go >=1.21`, see [installation guide](https://go.dev/doc/install)
2. `nodejs 20`, see [NVM](https://github.com/nvm-sh/nvm) or [Volta](https://github.com/volta-cli/volta)
3. `make`
Build the `launchr` tool:
```shell
make
bin/launchr web --help
```
The documentation for `launchr` usage can be found in [the main project](https://github.com/launchrctl/launchr).
@todo update readme
## To build the client:
### Node
```shell
cd client
# Install yarn 4 https://yarnpkg.com/getting-started/install yarn set version stable
# Fetch dependencies
yarn
# Build the project
yarn build
# Start client dev server
yarn dev
```
### Docker
```shell
make front-install front-build
```
See [client readme](client/README.MD) for more information.
To run Launchr Web server:
```shell
# Run web server on http://localhost:8080
bin/launchr web
# To use example as base dir for actions discovery.
LAUNCHR_ACTIONS_PATH=example bin/launchr web
# Run web server on http://localhost:3000
bin/launchr web -p 3000
# Serve swagger-ui and swagger.json
# Paths /api/swagger.json and /api/swagger-ui
bin/launchr web --swagger-ui
# To proxy requests to client dev server
bin/launchr web --swagger-ui --proxy-client=http://localhost:5173/
```
By default, Launchr HTTP server provides client files from `client/dist`.
But as shown above, launchr may be a reverse proxy server for `yarn dev` with `--proxy-client` flag.
If you face any issues with `launchr`:
1. Open an issue in the repo.
2. Share the app version with `launchr --version`
## Development
The `launchr` can be built with a `make` to `bin` directory:
```shell
make
```
It is also supported to make a build to use with `dlv` for debug:
```shell
make DEBUG=1
```
Useful make commands:
1. Fetch dependencies - `make deps`
2. Test the code - `make test`
3. Lint the code - `make lint`
@todo review
## Test for release
```shell
make front-install front-build
make EMBED=1
```
## To push new client release.
```shell
git tag v0.0.X
git push --tags
```
and wait for github action will finished.
## Web UI Customization
Launchr provides several options to customize the web user interface according to your needs.
You can customize the web UI by adding a `web` section to your `.binary/config.yaml` file with the following options:
```yaml
web:
# Exclude specific actions from appearing in the web interface
excluded_actions:
- web
- other-action-to-hide
# List of variable names that should be exposed to the UI
variables:
root_name: value
tab_title: value
header_title: value
favicon: value
logo: value
```