An open API service indexing awesome lists of open source software.

https://github.com/gera2ld/runic

A lightweight command execution and log hosting tool with a web dashboard.
https://github.com/gera2ld/runic

Last synced: 2 months ago
JSON representation

A lightweight command execution and log hosting tool with a web dashboard.

Awesome Lists containing this project

README

          

# runic

A lightweight command execution and log hosting tool with a web dashboard. Run shell commands defined in YAML, track execution history, and view logs — all from a single binary.

## Installation

```bash
curl -sL https://raw.githubusercontent.com/gera2ld/runic/main/install.sh | sh
```

This installs `runic` to `~/.local/bin/runic`. Add that directory to your PATH.

Manual install

1. Download the latest release from GitHub
2. Make it executable: `chmod +x runic`
3. Move to your PATH: `mv runic ~/.local/bin/`

## Configuration

Create a `config.yml` (optional, all fields have defaults):

```yaml
host: 127.0.0.1
port: 1337
timeout: 10
```

Environment variables `RUNIC_HOST`, `RUNIC_PORT`, and `RUNIC_DATA_DIR` override config values.

## Actions

Place YAML files in `actions/.yml`:

```yaml
name: deploy
timeout: 60
command: |
echo "Deploying..."
./scripts/deploy.sh
```

Only `command` is required. `name`, `timeout`, `cwd`, `cron`, and `concurrency` are optional.

`concurrency` defaults to `1`. Set it to `0` to allow unlimited overlapping runs.

> [!TIP]
> Always wrap your `cron` expression in quotes (e.g., `cron: "*/5 * * * *"`) to avoid YAML parsing errors, especially if the expression starts with `*`.

## Commands

```
runic Start the server
runic update Upgrade to the latest release
runic version Show version info
```