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.
- Host: GitHub
- URL: https://github.com/gera2ld/runic
- Owner: gera2ld
- Created: 2026-05-19T08:29:07.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-05-19T09:45:40.000Z (2 months ago)
- Last Synced: 2026-05-19T12:30:15.168Z (2 months ago)
- Language: HTML
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
```