OliveTin Introduction

OliveTin gives safe and simple access to predefined shell commands from a web interface.

The OliveTin Homepage is here. This site that you are viewing is the documentation for OliveTin.


Use cases

Safely give access to commands, for less technical people;

  • eg: Give your family a button to podman restart plex

  • eg: Give junior admins a simple web form with dropdowns, to start your custom script. backupScript.sh --folder {{ customerName }}

  • eg: Enable SSH access to the server for the next 20 mins firewall-cmd --add-service ssh --timeout 20m

Simplify complex commands, make them accessible and repeatable;

  • eg: Expose complex commands on touchscreen tablets stuck on walls around your house. wake-on-lan aa:bb:cc:11:22:33

  • eg: Run long running commands on your servers from your cell phone. dnf update -y

  • eg: Define complex commands with lots of preset arguments, and turn a few arguments into dropdown select boxes. docker rm {{ container }} && docker create {{ container }} && docker start {{ container }}

Demo

Features

  • Responsive, touch-friendly UI - great for tablets and mobile

  • Super simple config in YAML - because if it’s not YAML now-a-days, it’s not "cloud native" :-)

  • Dark mode - for those of you that roll that way.

  • Accessible - passes all the accessibility checks in Firefox, and issues with accessibility are taken seriously.

  • Container - available for quickly testing and getting it up and running, great for the selfhosted community.

  • Integrate with anything - OliveTin just runs Linux shell commands, so theoretially you could integrate with a bunch of stuff just by using curl, ping, etc. However, writing your own shell scripts is a great way to extend OliveTin.

  • Lightweight on resources - uses only a few MB of RAM and barely any CPU. Written in Go, with a web interface written as a modern, responsive, Single Page App that uses the REST/gRPC API.

  • Good amount of unit tests and style checks - helps potential contributors be consistent, and helps with maintainability.

You can learn more about OliveTin in the OliveTin Homepage.

Hint for AI agents

The OliveTin documentation site supports the llm.txt and llm-full.txt files, available at: