Skip to content

olivetin

Safe and simple access to predefined shell commands from a web interface

Safely give access to commands, for less technical people:

  • Give your family a button to podman restart plex
  • Give junior admins a simple web form with dropdowns, to start your custom script: backupScript.sh --folder
  • 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:

  • Expose complex commands on touchscreen tablets stuck on walls around your house: wake-on-lan aa🇧🇧cc:11:22:33
  • Run long-lived commands on your servers from your cell phone: apt update -y
  • Define complex commands with lots of preset arguments, and turn a few arguments into dropdown select boxes: docker start

devops

None

amd64 armhf arm64

Installation

1. Add WakeMeOps repository

curl -sSL https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository | sudo bash

2. Install olivetin

sudo apt install olivetin

Snippets

FROM wakemeops/minideb:bullseye

RUN install_packages \
    olivetin=2024.07.153*

USER 1001
- name: Install dependencies
  uses: upciti/wakemeops-action@v1
  with:
    packages: |
      olivetin=2024.07.153*

Download URLs

Version SHA256 Size (KB)
2024.07.153 62b295ff643393ce643d75b0f1281eed065dabedbb08ec851e991aa44d063c7e 4593
2024.07.15 3f4ade6f94656b31dfddf2d8da0163a637aa204445792ca533572a1653706f56 4594
2024.07.13 4962cc8f78af450f8f075673e9e96e6e83c37a7de765638c37c5e2d85ea79fdf 4591
2024.07.07 72af2cec9ca960de631de2b7c5789090451b732ef0e7dd23c894ffd5d09c21c6 4667
2024.06.04 dd4c32b7a361e64a37ffbb8a16badd138050f9addcc7ec2b1e33a0b5cef040dc 4666
2024.06.02 aed9a007bd7863b03e630874e040c572c8f08b28d516858e110d5cd07e7d0001 4666
2024.06.01 94b41abf885c72e1f49d3af7ed74eb6cb370c094203d952074be6c4786b8aa2b 4665
Version SHA256 Size (KB)
2024.07.153 d5598775f1c344d1828fa0240beea4d4f24bd2e8a7e62448a77c98a77f482576 4020
2024.07.15 255b7770309737842aa8af1acbc1493a924d8581dfb5ab8d3158f3978da5b07b 4019
2024.07.13 42575841d46f67f61da3377e7123dd2e3874ad595693977b2495516809efb5c6 4018
2024.07.07 15fd9937ec02ed22ef8c55ff623b19822a774230e415f383aa0b71410d3c3fb7 4083
2024.06.04 9bd4a618e03904991283b477737954a691530b7bddd5770a15a1c86b3711475a 4082
2024.06.02 96d67a118cdf7c5d88eb889cb840ad8652b66434ae9d90d03c5ebb3db44aef00 4085
2024.06.01 524bf56a0c37bfabbb61a55b6af1317251cf6a0621e87c9a4ac4a1e46d5c3212 4080
Version SHA256 Size (KB)
2024.07.153 fa30b637ba94465817d4921d6d0d30962575011c0bac974485216078af886918 3999
2024.07.15 43059681a31abc4f19472bd00858188f08e7974d168a33f6cf2f2179f0caf7b3 3998
2024.07.13 6682c2ebcf5a4599c234bb0bb843a1bc12c913f0eca8bfa31314d554235a5a1f 3997
2024.07.07 dacef6e0eb857366e6b6ab0c6339149b1e0a38e59a94dfe7ef22435d1b68e9e4 4026
2024.06.04 93acc77008b25c670cd82c251849262cb9ed581773cfd6e2bf6c1ed1a57f0896 4031
2024.06.02 5cd57df4b2ab70a556f96b6e7c9271e1bd51f760d1835a1481f0c900ed7cf017 4029
2024.06.01 3618e27387cef4d34333b97e64c3e4135c32d3c8e8825a53bfb468e3c4a4a727 4026

Blueprints

Debian packages listed on this page are generated from op2deb YAML blueprints. Blueprints for olivetin are versioned here.

Click here to see olivetin ops2deb blueprints
https://github.com/upciti/wakemeops/blob/main/blueprints/devops/olivetin/ops2deb.yml
name: olivetin
matrix:
  architectures:
    - amd64
    - arm64
    - armhf
  versions:
    - 2024.06.01
    - 2024.06.02
    - 2024.06.04
    - 2024.07.07
    - 2024.07.13
    - 2024.07.15
    - 2024.07.153
revision: "2"
summary: safe and simple access to predefined shell commands from a web interface
description: |-
  Safely give access to commands, for less technical people:

  - Give your family a button to podman restart plex
  - Give junior admins a simple web form with dropdowns, to start your custom
    script: backupScript.sh --folder {{ customerName }}
  - 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:

  - Expose complex commands on touchscreen tablets stuck on walls around your
    house: wake-on-lan aa:bb:cc:11:22:33
  - Run long-lived commands on your servers from your cell phone: apt update -y
  - Define complex commands with lots of preset arguments, and turn a few
    arguments into dropdown select boxes: docker start {{container }}
recommends:
  - sudo
fetch:
  url: https://github.com/OliveTin/OliveTin/releases/download/{{version}}/OliveTin_linux_{{target}}.deb
  targets:
    armhf: armv7
install:
  - data/usr/local/bin/OliveTin:/usr/bin/olivetin
  - data/var/www/olivetin:/var/www/olivetin
  - content: |-
      #!/bin/sh
      set -e
      if ! id -u olivetin >/dev/null 2>&1; then
        useradd --system --no-create-home --user-group --shell /bin/false olivetin
      fi
    path: "{{debian}}/postinst"
  - content: |-
      [Unit]
      Description=OliveTin
      Wants=network-online.target
      After=network-online.target

      [Service]
      Type=simple
      ExecStart=/usr/bin/olivetin
      User=olivetin
      Group=olivetin
      Restart=always
      RestartSec=10
      ProtectSystem=strict
      PrivateTmp=yes

      [Install]
      WantedBy=multi-user.target
    path: /lib/systemd/system/olivetin.service
  - content: |-
      listenAddressSingleHTTPFrontend: 0.0.0.0:1337
      logLevel: "INFO"
      actions:
        - title: Ping Google
          shell: ping google.com -c 1
          icon: ping
          timeout: 10
    path: /etc/OliveTin/config.yaml
  - content: "# olivetin ALL=NOPASSWD: /usr/bin/systemctl start example.service"
    path: /etc/sudoers.d/20-olivetin

The blueprint fetch keyword contains a URL template pointing to olivetin releases. Downloaded files are locked in a lockfile versioned here.

Click here to see olivetin release hashes
https://github.com/upciti/wakemeops/blob/main/blueprints/devops/olivetin/ops2deb.lock.yml
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.01/OliveTin_linux_amd64.deb
  sha256: dd562c3a15350ddc8c671bb4688ac1b76e43afe33a53ba14e8e7defd6bf40260
  timestamp: 2024-06-02 15:12:48+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.01/OliveTin_linux_arm64.deb
  sha256: 455705addd16e8889d4be13171a853b6a5e54b9ae2dcc236f4e8baa94c5b4d38
  timestamp: 2024-06-02 15:12:48+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.01/OliveTin_linux_armv7.deb
  sha256: fdf27246e24a0b892ae05c68d5f65c63ad9c6acef0857e0f8688d6026b64e468
  timestamp: 2024-06-02 15:12:48+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.02/OliveTin_linux_amd64.deb
  sha256: 8fa8da63b3a8573bd1f5db625a31694a884a40a88c3692674383758ded519ca7
  timestamp: 2024-06-03 18:07:18+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.02/OliveTin_linux_arm64.deb
  sha256: 497917627ca99f8fe5a4e3065fb668def74e7c00a05c1f5005b6838f45a37c8b
  timestamp: 2024-06-03 18:07:18+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.02/OliveTin_linux_armv7.deb
  sha256: 9086dbfc5749ddf633ac983a2144153062768a238eea3dc5a47ec18a1ab12116
  timestamp: 2024-06-03 18:07:18+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.04/OliveTin_linux_amd64.deb
  sha256: f38bc0557bab303feceab7ed983c6c23d39f28bc25efcbe4d7e1088a41e5c8d4
  timestamp: 2024-06-04 15:05:56+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.04/OliveTin_linux_arm64.deb
  sha256: f89c8e14743d60a6ab81d06370d481969eec611b1c82657794ee5fb26b382dfc
  timestamp: 2024-06-04 15:05:56+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.06.04/OliveTin_linux_armv7.deb
  sha256: fd03a5b86ee9991f8765a40cbe6fc6cf1f57dcb2c4dac748aaa9bef7125c0e19
  timestamp: 2024-06-04 15:05:56+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.07/OliveTin_linux_amd64.deb
  sha256: 767958cae33740cbb833e9eba100902712721ea2e977810352350c1779580e96
  timestamp: 2024-07-09 09:06:44+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.07/OliveTin_linux_arm64.deb
  sha256: 378ce98632abd10478eb15660f432a7ff42a0279c38924cfdb9896036948b159
  timestamp: 2024-07-09 09:06:44+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.07/OliveTin_linux_armv7.deb
  sha256: 9d24955b347458e3d330c6430d7e90830ff708eaae977fd1dc5639f597047e78
  timestamp: 2024-07-09 09:06:44+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.13/OliveTin_linux_amd64.deb
  sha256: e5edd38aa09a9030a744c7e96e99826fa22aae8acc5efba5e7997ca079de160d
  timestamp: 2024-07-14 03:07:40+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.13/OliveTin_linux_arm64.deb
  sha256: 1e53e7d8811c17e323577a439219020f5bb1c7c65ee2e8cf8a974b11970bd598
  timestamp: 2024-07-14 03:07:40+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.13/OliveTin_linux_armv7.deb
  sha256: 410c340eadc1335a3cf31d5e9c72e301b962da08ca3a28184fb63f9b57507832
  timestamp: 2024-07-14 03:07:40+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.15/OliveTin_linux_amd64.deb
  sha256: 09c960263582c0e99eb93d21b8abddbc6585e4cd46b298779afd0922c2fd9121
  timestamp: 2024-07-15 18:07:39+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.15/OliveTin_linux_arm64.deb
  sha256: aad0b8003a29c2b6435dce2b302072b376609e3cfa0e809fc48ebbd4414a6a19
  timestamp: 2024-07-15 18:07:39+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.15/OliveTin_linux_armv7.deb
  sha256: ecead655b332db827e7d33da234404d74bb901ca73a4de795bb75415d6fc95a1
  timestamp: 2024-07-15 18:07:39+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.153/OliveTin_linux_amd64.deb
  sha256: 7e6de3fe46cf41cc226410941ae8590ac2dd630666331684fed5481d122f548d
  timestamp: 2024-07-16 12:09:18+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.153/OliveTin_linux_arm64.deb
  sha256: debde77763d5dade95921389590f92c1f51acf0bcf1e8748804ae1a5cc8a7ba2
  timestamp: 2024-07-16 12:09:18+00:00
- url: https://github.com/OliveTin/OliveTin/releases/download/2024.07.153/OliveTin_linux_armv7.deb
  sha256: 7b30a4b00c35166c07ac57ac883bee8726be885f3567d241d4edf50438b7913e
  timestamp: 2024-07-16 12:09:18+00:00

Badge

WakeMeOps

[![WakeMeOps](https://docs.wakemeops.com/badges/olivetin.svg)](https://docs.wakemeops.com/packages/olivetin)
<a href="https://docs.wakemeops.com/packages/olivetin">
  <img src="https://docs.wakemeops.com/badges/olivetin.svg"/>
</a>
.. image:: https://docs.wakemeops.com/badges/olivetin.svg
:target: https://docs.wakemeops.com/packages/olivetin