OliveTin is a web based quick access control panel for running jobs.
For example, it can be used to turn home automation lights on or off, or start workflows in n8n.
TODO
Desktop web browser;
Mobile screen size (responsive layout);
config.yaml examplePut this config.yaml in /etc/OliveTin/ if you're running a standard service, or mount it at /config if running in a container.
listenAddressWebUI: 0.0.0.0:1337 # Listen on all addresses available, port 1337
logLevel: "INFO"
actions:
- title: Restart Plex
icon: smile
shell: docker restart plex
# This will send 1 ping
- title: Ping Google.com
shell: ping google.com -c 1
# Restart lightdm on host "overseer"
- title: restart lightdm
icon: poop
shell: ssh root@overseer 'service lightdm restart'
By default OliveTin will use the following ports;
1337 - for hosting the web interface1338 - for the REST API (the api the web interface uses to do stuff)1339 - a modern gRPC API (OliveTin uses protobuf under the hood)Some people might not want the gRPC API public - simply set listenAddressGrpcActions: 127.0.0.1:1339 in your config so it doesn't listen publicly. It cannot be disabled completely - it's required for the REST API to work though.
Running OliveTin as a systemd service on a Linux machine is a bit more effort than running as a container - but it means it can use any program installed on your machine (you don't have to add programs to a container).
OliveTin binary to /usr/sbin/OliveTinwebui directory contents to /var/www/olivetin/ (eg, /var/www/olivetin/index.html)OliveTin.service file to /etc/systemd/system/config.yaml using the example provided above to get you started.Run systemctl restart OliveTin and check systemctl status OliveTin.
Of course, running a container image is very straightforward - but you might need to add files and programs to the OliveTin container to make it useful for your use case. Generally running a systemd service is better for OliveTin.
podman (or docker)root@host: podman create --name olivetin -p 1337 -p 1338 -p 1339 -v /etc/olivetin/:/config:ro olivetin
buildah (or docker build)root@host: buildah bud -t olivetin