Vi siete mai stancati di digitare sempre gli stessi comandi CLI? Avete mai voluto che tutti gli altri in casa vostra potessero riavviare il server Plex senza il vostro intervento? Volete semplicemente digitare un nome in un pannello web, premere un pulsante e vedere apparire magicamente un contenitore Docker/LXD personalizzato?
Allora potreste voler dare un'occhiata a OliveTin. OliveTin è letteralmente solo un'applicazione che consente di generare una pagina web da un file di configurazione, e questa pagina web ha dei pulsanti. Premendo i pulsanti, OliveTin eseguirà i comandi bash preimpostati da voi.
Certo, tecnicamente si potrebbe creare qualcosa di simile da soli, da zero, con una sufficiente esperienza di programmazione... ma questo è molto più semplice. L'aspetto è simile a questo quando è configurato (immagine per gentile concessione del repository OliveTin):
Non eseguire MAI questa applicazione su un server pubblico
Questa applicazione, per progettazione e per ammissione dello stesso creatore, è destinata a essere utilizzata su reti locali, forse su configurazioni dev. Tuttavia, al momento non ha un sistema di autenticazione dell'utente e (finché lo sviluppatore non lo risolverà) viene eseguito come root per impostazione predefinita.
Quindi sì, usatelo quanto volete su una rete protetta e difesa da firewall. Non metterlo su nulla che sia destinato all'uso da parte del pubblico. Per ora fare:
OliveTin include RPM precostituiti. È sufficiente scaricare qui l'ultima versione per la propria architettura e installarla. Se state seguendo questa guida su una workstation con un desktop grafico, scaricate il file e fate doppio clic su di esso nel vostro file manager preferito.
Se state installando questa applicazione su un server, potete scaricarla sul vostro computer di lavoro e caricarla tramite SSH/SCP/SFTP, oppure fare quello che alcuni dicono di non fare e scaricarla con wget.
Quindi installare l'applicazione con (sempre ad esempio):
sudorpm-iOliveTin_2022-04-07_linux_amd64.rpm
OliveTin può essere eseguito come un normale servizio systemd, ma non abilitatelo ancora. È necessario impostare prima il file di configurazione.
Nota
Dopo alcune prove, ho stabilito che queste stesse istruzioni di installazione funzionano perfettamente in un contenitore Rocky Linux LXD. Per chi ama Docker, sono disponibili immagini precostituite.
OliveTin può fare tutto ciò che può fare bash, e anche di più. Si può usare per eseguire applicazioni con opzioni CLI, eseguire script bash, riavviare servizi e così via. Per iniziare, aprire il file di configurazione con l'editor di testo desiderato con root/sudo:
sudonano/etc/OliveTin/config.yaml
Il tipo più elementare di azione è un pulsante; si fa clic su di esso e il comando viene eseguito sul computer host. Si può definire nel file YAML in questo modo:
Non mi soffermerò su tutti i dettagli delle opzioni di personalizzazione, ma è anche possibile utilizzare gli input di testo e i menu a discesa per aggiungere variabili e opzioni ai comandi da eseguire. Se lo fate, OliveTin vi chiederà un input prima di eseguire il comando.
In questo modo è possibile eseguire qualsiasi programma, controllare macchine remote con SSH, attivare webhook e altro ancora. Consultate la documentazione ufficiale per ulteriori idee.
Ma ecco un mio esempio: Ho uno script personale che uso per generare contenitori LXD con server web preinstallati. Con OliveTin, sono riuscito a creare rapidamente un'interfaccia grafica per questo script, come questa:
OliveTin è un ottimo modo per eseguire qualsiasi cosa, dai comandi bash ad alcune operazioni piuttosto complesse con gli script. Ricordate che tutto viene eseguito come root per impostazione predefinita, a meno che non si usi su/sudo nei comandi di shell per cambiare l'utente per quel particolare comando.
Per questo motivo, è necessario prestare attenzione a come si configura il tutto, soprattutto se si prevede di dare accesso (ad esempio) alla propria famiglia, di controllare i server e gli elettrodomestici di casa e così via.
E ancora, non mettetelo su un server pubblico a meno che non siate pronti a cercare di proteggere la pagina da soli.
Altrimenti, divertitevi. Si tratta di un piccolo strumento molto utile.