Accueil Technologie
OliveTin permet à vos utilisateurs de contrôler à distance votre serveur Raspberry Pi via le Web

OliveTin permet à vos utilisateurs de contrôler à distance votre serveur Raspberry Pi via le Web

Si vous utilisez un Raspberry Pi comme serveur domestique, il est probable que vos amis et votre famille accèdent également à ses services. De temps en temps, ils auront besoin d’exécuter des tâches de routine qui nécessitent un contrôle limité du serveur.



OliveTin est une application auto-hébergée à laquelle ils peuvent accéder via un navigateur web pour exécuter des commandes et des scripts prédéterminés que vous aurez définis.


Pourquoi utiliser OliveTin sur Raspberry Pi ?

Des amis assis sur le canapé et regardant un film

Les ordinateurs monocartes de la série Raspberry Pi constituent d’excellents serveurs domestiques légers, et il est relativement facile d’installer un serveur web Raspberry Pi.

Outre l’hébergement de sites Web et de blogs, votre Raspberry Pi peut héberger des galeries de photos, des livres de cuisine et des suites bureautiques en ligne. Vous pouvez diffuser des films et des émissions sur votre téléviseur avec Jellyfin, ou héberger vous-même une bibliothèque de livres audio avec Audiobookshelf.

Le nombre d’utilisateurs n’est pas non plus limité, donc à moins que vous ne viviez seul, vous partagerez probablement l’accès aux services de votre Raspberry Pi avec d’autres membres de votre foyer.

Les serveurs, comme tout autre type d’ordinateur, nécessitent une maintenance occasionnelle. Vos utilisateurs peuvent avoir besoin de démarrer ou d’arrêter des services particuliers, de se connecter à un VPN, de sauvegarder des fichiers sur le Raspberry Pi ou de vérifier les problèmes de réseau.

Si votre famille et vos colocataires sont familiers avec la ligne de commande Linux, et que vous avez confiance en eux pour ne pas bousiller accidentellement ou délibérément votre système, vous pouvez envisager de leur donner leurs propres identifiants SSH ainsi que l’appartenance à un groupe sudo, afin qu’ils puissent effectuer ces tâches sans vous déranger.

C’est une proposition tentante mais dangereuse, et si quelque chose tourne mal, c’est vous qui devrez le réparer. Avec OliveTin, vous pouvez définir des commandes de routine que d’autres utilisateurs du serveur peuvent être amenés à exécuter régulièrement. Ils peuvent alors ouvrir un navigateur web et appuyer sur un bouton qui exécutera la commande sur votre Pi- sans jamais avoir besoin de toucher à la ligne de commande.


Comment installer OliveTin sur un Raspberry Pi

fichier docker-compose d'olive tin

La façon la plus simple d’installer OliveTin est d’utiliser Docker Compose. Si vous n’avez pas encore installé Docker et Docker Compose sur votre Raspberry Pi, consultez notre guide essentiel sur l’installation de Docker et Docker Compose sous Linux.

Connectez-vous à votre serveur Raspberry Pi à l’aide de Secure Shell (SSH) :

 ssh pi@your-local-pi-ip-address 

Créez un nouveau répertoire pour OliveTin, et utilisez la commande cd pour y accéder :

 mkdir olivetin && cd olivetin 

Utilisez l’éditeur de texte nano pour créer un nouveau fichier Docker Compose :

 nano docker-compose.yml 

Copiez et collez ce qui suit :

 version: "3.5"
services:
  olivetin:
    container_name: olivetin
    image: jamesread/olivetin
    user: root
    volumes:
      - ~/olivetin:/config
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - "1337:1337"
    restart: unless-stopped

networks:
  web:
  section:
      external: true

Sauvegardez et quittez nano avec Ctrl + O puis Ctrl + X.

Avant de lancer OliveTin pour la première fois, vous devez créer un fichier de configuration. C’est là que vous définirez les commandes à exécuter par les utilisateurs. Pour l’instant, entrez :

 touch config.yaml  

Utiliser OliveTin pour donner à vos utilisateurs un contrôle limité sur le serveur

Dans votre terminal, entrez :

 docker-compose up -d  

Cette commande lancera Docker Compose en mode détaché. Docker Compose va télécharger les images pour OliveTin et mettre en place les conteneurs. Ce processus peut prendre un certain temps. Lorsque vous revenez à l’invite de commande, vérifiez que tout se déroule correctement avec :

 docker-compose ps 

Ouvrez un navigateur et accédez à votre-adresse-ip-locale:1337. Vous devriez voir une page web grise avec le pied de page OliveTin. Vous êtes maintenant prêt à définir les commandes pour vos utilisateurs.

De retour dans le terminal, utilisez nano pour éditer le fichier de configuration que vous avez créé plus tôt :

 nano config.yaml 

La syntaxe est simple, et vous pouvez définir le nom des services et les actions à effectuer de la même manière que dans l’exemple suivant :

 actions:
  - title: "Reboot server"
    shell: reboot

  - title: "Ping Netflix"
    shell: ping netflix.com

  - title: Restart Apache
    icon: "🏁"
    shell: sudo service apache2 restart
  

Le service title est le titre que les utilisateurs peuvent voir, tandis que la commande suivante shell : est la commande qui sera exécutée sur votre Raspberry Pi.

OliveTin supporte les icônes unicode, et vous pouvez spécifier le code HTML de ces icônes dans le champ icône . Vous pouvez également indiquer l’URL complète de l’image que vous souhaitez utiliser. Par exemple :

 icon: '<img src = "https://www.makeuseof.com/public/build/images/muo-logo-full-colored-light.svg" width = "81px"/>' 
Interface web en tôle d'olive avec six icônes

Bien que notre configuration donne des exemples qui redémarrent le Raspberry Pi, redémarrent Apache, et font un ping sur Netflix, il n’y a vraiment aucune limite aux commandes que vous pouvez spécifier. Vous pouvez donner aux utilisateurs un bouton qui copiera les films d’un répertoire à l’autre, effacer et écraser rapidement certains répertoires, ou construire un kill-switch qui cryptera vos périphériques de stockage avec une clé aléatoire.

Lorsque vous êtes satisfait de votre configuration, enregistrez le fichier et quittez nano en appuyant sur Ctrl + O puis Ctrl + X.

Toute sortie stdout produite à la suite d’une pression sur un bouton est enregistrée. Vous pouvez voir les journaux en appuyant sur la touche Journaux en haut à droite. Avec OliveTin, vous pouvez également permettre aux utilisateurs de donner des commandes, appelées arguments, par l’intermédiaire de l’interface web, soit dans une zone de texte, soit à l’aide d’une liste déroulante.

boîte de texte OliveTin avec commande

En raison du danger associé au fait de laisser des utilisateurs inexpérimentés émettre des commandes arbitraires privilégiées directement sur votre serveur Raspberry Pi, vous pouvez restreindre le type d’argument qu’OliveTin acceptera.

Pour une référence rapide, les types sont :

Type

Valeurs acceptées

très_dangerous_raw_string

Comme son nom l’indique, l’utilisateur pourra saisir n’importe quel texte ou commande et le faire exécuter

int

Tout nombre positif entier

ascii

N’importe quel caractère ou nombre, mais pas d’espace ni de ponctuation.

identifiant_ascii

Pour les DNS et similaires

ascii_sentence

a-z , 0-9, avec espaces, . et ,

url

Une adresse web

Une définition de zone de texte dans votre config.yaml est formaté comme suit :

 actions:
  - title: Echo something to command line
    icon: "&#9940;"
    shell: echo {{ message }}
    arguments:
      - name: message
        type: very_dangerous_raw_string

La zone de texte apparaîtra lorsque quelqu’un appuiera sur le bouton approprié et permettra à n’importe quel utilisateur de votre réseau local d’exécuter un code arbitraire par l’intermédiaire du navigateur. Ce n’est pas vraiment une bonne idée.


OliveTin permet aux utilisateurs d’effectuer facilement des tâches de base sur votre serveur Raspberry Pi

Le Raspberry Pi est la plateforme de serveur domestique idéale pour héberger des services destinés à votre famille, et OliveTin leur permet d’effectuer des tâches de maintenance simples sans vous déranger.

Il existe des milliers de projets auto-hébergés que vous pouvez exécuter sur le Raspberry Pi et qui profiteront à votre famille. Faites quelques recherches et découvrez les services pour lesquels vous payez et que vous pourriez héberger vous-même !

Leave your vote

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires

Log In

Forgot password?

Don't have an account? Register

Forgot password?

Enter your account data and we will send you a link to reset your password.

Your password reset link appears to be invalid or expired.

Log in

Privacy Policy

Add to Collection

No Collections

Here you'll find all collections you've created before.

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Newsletter

inscrivez vous pour recevoir nos actualités

Actualités, astuces, bons plans et cadeaux !