disco - Shell Interattivo Strumento di Gestione Discourse con Notifiche Telegram
| Riepilogo | Un wrapper da riga di comando per la gestione di Discourse con interfaccia a menu interattiva e notifiche automatiche su Telegram per le operazioni di manutenzione | |
| Link al Repository | GitHub - DigneZzZ/discourse-cli: Discourse CLI interface with TG events when rebuild Β· GitHub | |
| Documentazione | Guida allβInstallazione Β· Avvio Rapido Β· Esempi |
Introduzione
Ciao a tutti!
Voglio condividere una soluzione che ho creato mentre gestivo il mio forum della community. Come molti di voi, ho un gruppo Telegram per la mia community e ricevevo costantemente domande come βIl forum Γ¨ giΓΉ?β o βQuando finirΓ la manutenzione?β ogni volta che dovevo aggiornare o riavviare Discourse.
Per risolvere questo problema (e semplificarmi la vita), ho creato disco - un wrapper da riga di comando per la gestione di Discourse che include notifiche automatiche su Telegram e unβinterfaccia a menu interattiva.
Quale Problema Risolve
- Niente piΓΉ domande βIl forum Γ¨ giΓΉ?β - notifiche automatiche al tuo gruppo Telegram
- Gestione semplificata - menu interattivo invece di ricordare i comandi del launcher
- Sicurezza prima di tutto - conferme per le operazioni pericolose (ricostruzione, arresto, pulizia)
- Maggiore visibilitΓ - stato in tempo reale, log e monitoraggio delle risorse
- Risoluzione problemi piΓΉ rapida - tutte le operazioni in un unico posto con output chiaro
Caratteristiche
Interfaccia a Menu Interattivo
Avvia disco senza argomenti per ottenere un elegante menu numerato:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π Discourse Manager v1.2.0 β
β π¦ Container: app | Stato: π’ In esecuzione β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. π Mostra Stato
2. π Riavvia Container
3. π Visualizza Log (ultime 100 righe)
4. πΊ Monitor Live
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
5. π§ Ricostruzione Completa (con aggiornamenti) β
6. β‘ Ricostruzione Rapida
7. πΎ Crea Backup
8. π§Ή Pulisci Risorse Docker β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
9. βΆοΈ Avvia Container
10. βΈοΈ Ferma Container β
11. π Entra nella Shell del Container
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
12. π₯ Aggiorna Launcher
13. π± Testa Notifiche Telegram
14. βοΈ Mostra Configurazione
15. π Aggiorna disco
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
0. β Esci
Caratteristiche:
- Digita semplicemente un numero (1-15) per selezionare lβazione
- Stato del container in tempo reale nellβintestazione
- Avvisi visivi (
) per le operazioni critiche - Conferme di sicurezza - digita βsΓ¬β per confermare azioni pericolose
- Rilevamento intelligente di sudo - avvisa quando servono privilegi di root
Notifiche Telegram
Le notifiche automatiche mantengono la tua community informata:
Quando inizia la ricostruzione:
π§ Il forum entrerΓ in modalitΓ manutenzione
β± Tempo previsto: ~10 minuti
Ci scusiamo per l'inconveniente temporaneo.
Al completamento:
β
Il forum Γ¨ di nuovo online!
β± Tempo di manutenzione: 7m 57s
π Versione: 3.2.0.beta4
Grazie per la tua pazienza! π
In caso di errori:
β Aggiornamento del forum fallito
β± Durata del tentativo: 3m 12s
β οΈ Richiesta attenzione dell'amministratore!
Controlla i log: disco logs
Monitoraggio e Diagnostica
Panoramica dello Stato:
ββββββββββββββββββββββββββββββββββββββββ
π Stato Discourse
ββββββββββββββββββββββββββββββββββββββββ
π¦ Container: app
π’ Stato: In esecuzione
β± Tempo di attivitΓ : 3 giorni
π Versione: 3.2.0.beta4
π» CPU: 2.5%
π§ Memoria: 1.2GB / 4GB
Caratteristiche:
- Utilizzo CPU e memoria in tempo reale
- Tracciamento del tempo di attivitΓ del container
- Rilevamento automatico della versione tramite API
- Monitoraggio live dei log con modalitΓ follow
- Dashboard di monitoraggio delle risorse
FunzionalitΓ di Sicurezza
- Prompt di conferma per le operazioni critiche (ricostruzione, arresto, pulizia)
- Rilevamento sudo - avvisa quando servono privilegi
- Visualizzazione versione - sappi sempre quale versione Γ¨ in esecuzione
- Avvisi dettagliati - spiega esattamente cosa farΓ ogni azione critica
Operazioni Rapide
Tutte le operazioni standard di Discourse disponibili:
- Gestione container - avvia, ferma, riavvia, entra nella shell
- Manutenzione - ricostruzione (completa/rapida), backup, pulizia
- Monitoraggio - stato, log, monitor risorse live
- Aggiornamenti - aggiornamenti del launcher con un singolo comando
Installazione
Installazione Rapida
# Scarica e installa
curl -o disco https://raw.githubusercontent.com/DigneZzZ/discourse-cli/main/disco
chmod +x disco
sudo mv disco /usr/local/bin/
# Verifica l'installazione
disco version
# Avvia il menu interattivo
disco
Configurazione
Impostazione Base
Crea un file di configurazione in una di queste posizioni:
~/.disco.env(consigliato)/etc/disco/.env- Accanto allo script
# Copia la configurazione di esempio
curl -o ~/.disco.env https://raw.githubusercontent.com/DigneZzZ/discourse-cli/main/.env.example
# Modifica le impostazioni
nano ~/.disco.env
Esempio di Configurazione
# Impostazioni di base
DISCOURSE_PATH=/var/discourse
CONFIG_NAME=app
# Notifiche Telegram (opzionale)
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
TELEGRAM_CHAT_ID=-1001234567890
TELEGRAM_THREAD_ID=1
Configurazione delle Notifiche Telegram
1. Crea un bot:
- Invia un messaggio a @BotFather su Telegram
- Invia il comando
/newbot - Segui le istruzioni
- Salva il token del bot
2. Ottieni lβID Chat:
- Invia un messaggio qualsiasi al tuo bot
- Visita:
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates - Trova
"chat":{"id":...}nella risposta
3. Ottieni lβID Thread (per gruppi con argomenti):
- Invia un messaggio allβargomento desiderato nel tuo gruppo
- Nella risposta di getUpdates, cerca
message_thread_id
4. Testa le notifiche:
disco test-telegram
Utilizzo
Menu Interattivo (Consigliato)
# Avvia il menu interattivo
disco
# Con sudo per azioni amministrative
sudo disco
Digita semplicemente il numero dellβazione che vuoi eseguire!
ModalitΓ Rigda di Comando
Per automazione o operazioni rapide:
# Stato e monitoraggio
disco status # Mostra stato del container
disco logs # Visualizza ultime 100 righe
disco logs 500 # Visualizza ultime 500 righe
disco monitor # Monitoraggio risorse in tempo reale
# Gestione container
sudo disco start # Avvia container
sudo disco stop # Ferma container
sudo disco restart # Riavvia container
disco enter # Entra nella shell del container
# Manutenzione
sudo disco rebuild # Ricostruzione completa con aggiornamenti
sudo disco fast-rebuild # Ricostruzione rapida (senza aggiornamento launcher)
sudo disco backup # Crea backup (nome automatico)
sudo disco backup my-name # Crea backup (nome personalizzato)
sudo disco cleanup # Pulisci risorse Docker
# UtilitΓ
sudo disco update-launcher # Aggiorna launcher Discourse
disco test-telegram # Testa notifiche Telegram
disco show-config # Mostra configurazione disco
disco version # Mostra versione
disco help # Mostra aiuto
Impostazioni
| Nome | Descrizione | Predefinito | Richiesto |
|---|---|---|---|
DISCOURSE_PATH |
Percorso della directory di installazione di Discourse | /var/discourse |
No |
CONFIG_NAME |
Nome della configurazione del container | app |
No |
TELEGRAM_BOT_TOKEN |
Token del bot Telegram da @BotFather | - | No (per le notifiche) |
TELEGRAM_CHAT_ID |
ID chat o gruppo Telegram per le notifiche | - | No (per le notifiche) |
TELEGRAM_THREAD_ID |
ID thread nel gruppo con argomenti | - | No (opzionale) |
Casi dβUso
Gestore della Community
- Mantieni la community informata automaticamente durante la manutenzione
- Niente piΓΉ domande βil forum Γ¨ giΓΉ?β
- Notifiche di manutenzione professionali
Amministratore di Sistema
- Menu interattivo per compiti di gestione occasionali
- Conferme di sicurezza prevengono incidenti
- Accesso rapido a log e stato
Team DevOps
- ModalitΓ CLI per automazione e script
- Operazioni coerenti tra i membri del team
- Integrazione semplice con sistemi di monitoraggio
Impatto nel Mondo Reale
Dopo aver distribuito questo strumento:
Zero domande βil forum Γ¨ giΓΉ?β nel nostro gruppo Telegram
Operazioni di manutenzione piΓΉ rapide - niente piΓΉ cambio di contesto tra terminale e messaggistica
Meno errori durante gli aggiornamenti - le conferme di sicurezza funzionano!
Miglior monitoraggio - accesso rapido a log e utilizzo risorse
Documentazione
- Guida allβInstallazione - Istruzioni dettagliate per lβinstallazione
- Guida Avvio Rapido - Inizia in 5 minuti
- Documentazione FunzionalitΓ - Spiegazione delle funzionalitΓ del menu interattivo
- Esempi di Utilizzo - Flussi di lavoro e scenari reali
- Registro delle Modifiche - Cronologia delle versioni
PerchΓ© lβHo Creato
Gestire Discourse tramite il launcher standard Γ¨ potente, ma:
- I comandi sono difficili da ricordare
- Nessun sistema di notifica integrato per la community
- Facile commettere errori con le operazioni critiche
- I membri della community chiedono sempre informazioni sui tempi di inattivitΓ
disco avvolge il launcher con unβinterfaccia user-friendly e mantiene tutti informati automaticamente.
Contributi
I contributi sono benvenuti! Se hai idee o suggerimenti:
- Forka il repository
- Crea un branch per la funzionalitΓ
- Apporta le tue modifiche
- Invia una Pull Request
Oppure semplicemente apri un issue con il tuo feedback!
Licenza
Licenza MIT - completamente gratuita da usare e modificare.
Repository GitHub: GitHub - DigneZzZ/discourse-cli: Discourse CLI interface with TG events when rebuild Β· GitHub