Scripts2026年5月30日·1 分钟阅读

OliveTin — Safe Web Interface for Predefined Shell Commands

OliveTin gives safe and simple access to predefined shell commands from a web interface. It lets sysadmins and homelab operators expose specific server actions as clickable buttons without granting full shell access.

Agent 就绪

Agent 可直接安装

这个资产可安装;Agent 先选择当前运行时、检查安装计划,再运行匹配命令。

Native · 98/100策略:允许
Agent 入口
任意 MCP/CLI Agent
类型
Skill
安装
Single
信任
信任等级:Established
入口
OliveTin
直接安装命令
npx -y tokrepo@latest install 593db9dc-5c22-11f1-9bc6-00163e2b0d79 --target codex

先 dry-run 确认安装计划,再运行此命令。

Introduction

OliveTin provides a web-based dashboard of clickable buttons, each mapped to a predefined shell command. It is designed for situations where you want to let users or team members trigger specific server actions without giving them SSH access or teaching them command-line syntax.

What OliveTin Does

  • Exposes predefined shell commands as web buttons with a clean UI
  • Supports parameterized commands with input fields for arguments
  • Provides an API for triggering actions programmatically
  • Logs all command executions for auditing and troubleshooting
  • Runs as a single Go binary or Docker container

Architecture Overview

OliveTin is written in Go and serves a single-page web application. Configuration is defined in a YAML file that maps button labels to shell commands. When a button is clicked, the backend executes the corresponding command in a subprocess and streams output back to the browser. The YAML config supports arguments, dropdowns, and confirmation dialogs for safe execution.

Self-Hosting & Configuration

  • Deploy via Docker with a mounted configuration file
  • Define actions in config.yaml with command, title, and optional arguments
  • Set up authentication using built-in basic auth or a reverse proxy
  • Configure execution timeouts and concurrent command limits
  • Install as a systemd service on bare-metal Linux systems

Key Features

  • Single YAML file defines all available actions
  • Parameterized commands with dropdown menus and text inputs
  • Real-time command output streaming to the web interface
  • RESTful API for automation and integration with other tools
  • Lightweight single binary with no database dependency

Comparison with Similar Tools

  • Rundeck — enterprise job scheduler with complex setup; OliveTin is a simple button dashboard with minimal configuration
  • Semaphore — Ansible/Terraform UI with project management; OliveTin focuses on ad-hoc shell command execution
  • Webhook — runs commands via HTTP endpoints but lacks a UI; OliveTin provides a visual button interface
  • Portainer — Docker management UI; OliveTin is container-agnostic and runs any shell command

FAQ

Q: Is OliveTin secure enough for production use? A: It executes only commands defined in the config file, so users cannot run arbitrary commands. Pair it with reverse proxy authentication for additional security.

Q: Can I use OliveTin to manage Docker containers? A: Yes. Define docker start, stop, or restart commands as actions in the config file.

Q: Does it support multi-user access control? A: Basic access control is available. For fine-grained permissions, use a reverse proxy with authentication.

Q: Can actions be triggered on a schedule? A: OliveTin itself does not include a scheduler, but its API can be called from cron jobs or other scheduling tools.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产