--- 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Ă©) ```yaml # 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 - Site officiel : https://www.olivetin.app - Documentation : https://docs.olivetin.app - Galerie d'exemples : https://docs.olivetin.app/before_you_start/examples ## 🔗 Pages LiĂ©es - [[cat-remote-access]] - [[app-authelia]] — SSO recommandĂ© devant OliveTin - [[app-traefik]] - [[app-warpgate]] — vrai bastion SSH/HTTP - [[securisation-home-lab]] - [[recettes-docker-compose]]