Questa è un’installazione Discourse self-hosted in un VPS privato con una tipica installazione Docker.
L’ho fatto di nuovo:
Ho atteso una “perfetta” ricostruzione dell’aggiornamento di due ore a v3.4.0.beta2-dev.
Poi ho aggiunto un paio di righe ad app.yml e ho atteso altre due ore per un’altra ricostruzione.
(Perché separare le operazioni? Perché un doppio colpo non è mai buono se c’è la possibilità di errori.)
Poi ho riscontrato errori di runtime nel log perché ho dimenticato gli spazi in app.yml (per l’account e la chiave MaxMind).
Quindi stasera devo fare un’altra ricostruzione.
Questo significa oltre sei ore di downtime virtuale, rispetto a un sito WordPress o di un altro CMS che richiederebbe solo pochi minuti nello stesso identico scenario. Questo urla “cattiva UX” e quindi “anti-marketing” - semplicemente non fa bene alla piattaforma.
L’unica ragione per cui ho dovuto fare una seconda ricostruzione è stata perché ho aggiunto queste maledette due righe. Vorrei davvero che una ricostruzione completa non fosse necessaria solo a causa di questa piccola modifica nel file di configurazione.
-
Si è parlato di eseguire una convalida del file yml prima di una ricostruzione? Questa semplice funzionalità avrebbe eliminato un’operazione dispendiosa in termini di tempo e i conseguenti problemi.
-
Si è parlato di un preprocessore che determina se è necessaria una ricostruzione completa dopo modifiche specifiche?
-
Sono sorpreso che un errore YAML non sia stato segnalato nei log. C’è un motivo per cui la cartella principale .yml di runtime e forse altre non vengono controllate per errori sintattici? … O gli amministratori più esperti eseguono il proprio linting prima di una ricostruzione?

Sto ospitando in Docker perché credo che sia la piattaforma “più facile” se/quando passerò questo sistema a qualcun altro per la manutenzione. Se ciò non è corretto, e ho optato non solo per “non il più facile” ma anche per “il più lento”, forse dovrei considerare un’opzione di installazione diversa.
Grazie!