OliveTin

automationdevops

Web UI that turns predefined shell commands into clickable buttons. Give non-technical users or a phone browser a safe way to trigger server actions — restart a service, run a backup, deploy a container — without SSH access

#automation#shell#web-ui#devops#homelab#self-hosted

Quick Start

docker run -d -p 1337:1337 -v $(pwd)/config.yaml:/config/config.yaml jamesread/olivetin

Overview

OliveTin gives any shell command a web-based button. You define your actions in a YAML file — a label, the command to run, and optional input parameters — and OliveTin presents them as a clean, mobile-friendly dashboard. Anyone with access to the URL can trigger those actions without needing SSH credentials, a terminal, or any technical knowledge.

The core use case is making routine server tasks accessible without granting full shell access. Restarting a service, running a backup script, triggering a deploy, clearing a cache — these are the commands that come up repeatedly and that team members or household users sometimes need to run without sitting at a keyboard. OliveTin turns them into one-click actions on any device.

Input parameters extend this beyond simple one-click commands. You can define an action that accepts a parameter — a container name, an environment target, a filename — with validation rules that restrict what values are accepted. The underlying command substitutes the validated input, which gives you parameterised control without exposing arbitrary shell execution.

The YAML configuration is simple enough to read and modify without documentation. Each action has a name, an icon, a shell command, and optional parameter definitions. The entire configuration lives in one file alongside your Docker Compose setup, version-controllable and reviewable like any other infrastructure config.

The missing piece is authentication. OliveTin has no built-in login system. Putting it behind a reverse proxy with basic auth or a proper SSO solution like Authelia is required before exposing it to anyone beyond yourself. This is a common pattern in the homelab community and straightforward to set up, but it is a step that cannot be skipped.

OliveTin: Pros & Cons

Pros (The Wins)Cons (The Friction)
One-click shell actions:
Buttons for any command;
no terminal needed.
No built-in auth:
Requires a reverse proxy
for access control.
Safe parameters:
Pass validated inputs to
commands without arbitrary access.
AGPL licence:
Commercial embedding needs
a licence review.
Mobile-friendly UI:
Trigger server tasks from
a phone browser.
No scheduling or logic:
Button panel only; not
a workflow engine.
3.6k stars:
Active development; popular
in the homelab community.
Process permission risk:
Commands run as the
OliveTin process user.

Use Cases

Specific ways to use OliveTin for your workflow.

01
Give a non-technical family member or colleague a button to restart the Plex server without needing to explain SSH
02
Create a mobile-friendly dashboard of common server maintenance tasks you can trigger from your phone while away from a keyboard
03
Expose safe, parameterised commands to a small team — restart a specific service, clear a cache, run a deploy script — with input validation
04
Build a homelab control panel that surfaces the handful of commands you run most often without opening a terminal

Deployment Strategy

Recommended ways to host OliveTin in your own environment.

docker
self-hosted