Récemment, j'ai voulu mettre en place un homelab pour mes futurs projets.

Problème n°1 : Je n'en ai pas besoin tout le temps (surtout des environnements de tests)
Solution : Éteindre la ou les machines quand on ne s'en sert pas. Merci captain Obvious.

Problème n°2 : Si je ne suis pas chez, comment je fais pour allumer mes appareils à distance ?
Solution : Le Wake-On-Lan !

C'est donc comme ça que m'est venu l'idée de Wake-Up!

GitHub - TheBaronMc/wake-up
Contribute to TheBaronMc/wake-up development by creating an account on GitHub.

Plutôt que d'ouvrir un port SSH en DNAT sur la box et de lancer un script à distance, Wake-Up! permet de réveiller les machines de sont réseau depuis une interface web sécurisée par un mot de passe.

Toute la mise en place est décrite dans le README mais je vais la reprendre ici.

Vous devez d'abord créer un fichier de configuration dans lequel vous allez renseigner le mot de passe pour accéder à l'interface, le port, les machines et d'autres paramètres. Vous trouverez un exemple ci-dessous :

password: wake-up!
api_enabled: false
web_enabled: true
port: 12345
groups:
  DHCP:
    Server1:
      address: 9D:2B:4F:7A:12
    Server2:
      port: 6
      address: A0:8C:3D:5E:9F:76
hosts:
  RaspberryPi:
    address: F1:6A:4B:3C:9D:21
  NAS:
    port: 6
    address: B3:11:8E:9F:4A:5D

Lancez la commande suivante :

$ docker run -v ./configuration.yml:/app/configuration.yml -p 8080:<port> baronmc/wake-up:1.0.0 

Pour terminer, depuis un navigateur, connectez-vous à l'adresse localhost:8080 et voilà le résultat :

Si jamais vous souhaitez intégrer ce fonctionnement dans vos process, Wake-Up! dispose d'une API REST. Vous trouverez la liste des routes dans le README.