Files
2026-06-09 18:40:21 +02:00

3.7 KiB


title: OliveTin created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, remote-access, automation, web-ui, shell, self-hosted-control] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Remote+Access, https://github.com/OliveTin/OliveTin]

🌐 OliveTin

Web UI sécurisée pour exposer à des utilisateurs non-technique une sélection de commandes shell et de scripts.

📋 Informations Générales

Attribut Valeur
Nom OliveTin
Slug olivetin
Description Interface web self-hosted pour exécuter des commandes shell et des scripts à distance
Site officiel https://www.olivetin.app
Repository https://github.com/OliveTin/OliveTin
Stars 3 622
Licence AGPL-3.0
Langage principal Go
Catégorie Remote Access
Tags [catalogue, remote-access, automation, web-ui, shell, self-hosted-control]

📝 Description

OliveTin n'est pas un bastion : c'est une UI pour exécuter des commandes shell à distance depuis un navigateur, à destination de profils qui n'ont pas (ou plus) accès à un terminal. On y pense comme un "bouton-poussoir" self-hosted pour des tâches d'admin : redémarrer un service, lancer un backup, vider un cache, exécuter un script custom.

Le fichier de configuration (YAML) liste des boutons (commands) ; chaque bouton peut avoir des arguments (form input), des confirmations, des conditions d'affichage. L'authentification est basique (HTTP Basic, OAuth2 via reverse proxy) et l'audit log est natif.

Cas d'usage typiques : donner à la famille un bouton "redémarrer le serveur Plex", à un client un bouton "déployer mon site", à un collègue non-linux un accès limité à des opérations courantes.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  olivetin:
    image: olivetin/olivetin:latest
    container_name: olivetin
    restart: unless-stopped
    ports:
      - "1337:1337"
    volumes:
      - ./config:/config:ro
      - /var/run/docker.sock:/var/run/docker.sock

Installation manuelle

Binaire statique Go disponible sur GitHub Releases. Créez /etc/OliveTin/config.yaml, exécutez olivetin en tant que service systemd.

⚙️ Configuration

  • Fichiers YAML décrivant chaque bouton : title, icon, shell command, arguments.
  • Arguments typés (string, int, bool, enum) avec validation.
  • Confirmations avant exécution, timeouts par commande.
  • Journal d'exécution consultable depuis l'UI.
  • OAuth2 via OIDC (ex. Authelia, Authentik) en plaçant un reverse proxy devant.

🔗 Alternatives

  • Heimdall / Homarr — dashboards de liens, pas d'exécution de commandes.
  • Webmin / Cockpit — UIs d'admin complètes (incluent du shell).
  • Apache Guacamole / Warpgate — pour un bastion véritable, avec sessions SSH/RDP.

🔒 Sécurité

  • ⚠️ OliveTin n'est PAS un bastion : il donne accès à des commandes arbitraires selon la config. À ne pas exposer sans auth forte.
  • OAuth2/OIDC via reverse proxy recommandé (Authelia, Authentik).
  • Audit log de chaque exécution (utilisateur, commande, timestamp, sortie).
  • Pas de session shell interactive : pas de terminal persistant, juste des one-shot.

📚 Ressources

🔗 Pages Liées