Ciao a tutti. Mi chiamo Lee e ho fatto self-hosting di Discourse in modo intermittente dal 2013. Ricordo di aver dovuto armeggiare con rbenv per iniziare. Ricordo di aver dovuto compilare nginx con Phusion Passenger per far funzionare le cose. Ricordo di aver discusso con @sam probabilmente dieci anni fa che passare a Docker fosse una capitolazione alla debolezza degli sviluppatori “funziona sul mio home directory e sul mio incubo di dotfiles” (e di essermi sbagliato di grosso!). Ricordo la prima volta che ho sentito la frase “bike-shedding”. Per citare l’uomo, ricordo tutto.
Dopo essere stato assente per diversi anni, ho avuto l’occasione di tornare al self-hosting di Discourse come sostituto dei commenti nativi di Wordpress su un sito di previsioni meteo dell’area di Houston che tipicamente gestisce circa 10k PV/giorno, ma durante gli uragani, potrebbe gestire circa 2 milioni di PV/giorno con circa 1 milione di visitatori unici. Abbiamo lottato con i commenti nativi di Wordpress per anni, ma da mercoledì scorso, siamo live su Discourse self-hosted. (E su Graviton3, niente meno! Seriamente, funziona e basta ed è fantastico.)
Ecco il punto a cui sto arrivando: è il 2025 e, come self-hoster, sto ancora gestendo manualmente lo spazio della mia immagine docker. Presento una storia su /dev/root, raccontata in snippet di codice, dopo meno di una settimana in produzione:
[11:49:56] 0 ✓ (1.8ms)
root@discourse:/var/discourse # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 30G 21G 9.6G 69% /
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 3.1G 1.1M 3.1G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 3.6K 125K 3% /sys/firmware/efi/efivars
/dev/nvme1n1p16 891M 109M 720M 14% /boot
/dev/nvme1n1p15 98M 6.4M 92M 7% /boot/efi
/dev/nvme0n1 32G 346M 30G 2% /var/discourse
tmpfs 1.6G 12K 1.6G 1% /run/user/1001
overlay 30G 21G 9.6G 69% /var/lib/docker/overlay2/5a649418bbfc064f488e895572eec1ace487a3eaa324fe1d8e3b395e6c5e3645/merged
[11:49:59] 0 ✓ (4.8ms)
root@discourse:/var/discourse # ./launcher cleanup
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: discourse/base@sha256:3696bdf18652b5455bd33795ec3b8e0f201c17a04f0e0126fc0317ed821373cd
....
[un'enorme quantità di righe redatte]
....
Total reclaimed space: 12.43GB
[11:50:34] 0 ✓ (27.8s)
root@discourse:/var/discourse # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 30G 6.9G 24G 23% /
tmpfs 7.7G 0 7.7G 0% /dev/shm
tmpfs 3.1G 1.1M 3.1G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
efivarfs 128K 3.6K 125K 3% /sys/firmware/efi/efivars
/dev/nvme1n1p16 891M 109M 720M 14% /boot
/dev/nvme1n1p15 98M 6.4M 92M 7% /boot/efi
/dev/nvme0n1 32G 346M 30G 2% /var/discourse
tmpfs 1.6G 12K 1.6G 1% /run/user/1001
overlay 30G 6.9G 24G 23% /var/lib/docker/overlay2/5a649418bbfc064f488e895572eec1ace487a3eaa324fe1d8e3b395e6c5e3645/merged
[11:55:28] 0 ✓ (3.3ms)
root@discourse:/var/discourse #
Vi amo. Amo Discourse. Sono legato al prodotto e intendo continuare a usarlo più o meno per sempre.
Ma, tipo… solo, perché. Perché è il 2025 e io, da solo, sto ancora armeggiando con launcher cleanup? Perché la gestione delle immagini non è una funzione intrinseca di launcher?
Di nuovo, vi amo. Ho scelto Discourse per SCW perché credo in quello che avete costruito e amo usarlo. Ma tipo… metà del volume di avvio della mia povera AMI è occupato da roba inutile che potrebbe—almeno se capisco il lato tecnico delle cose—essere gestita automaticamente.
Non intendo lamentarmi, sto solo facendo un check-in dopo qualche anno lontano dalla sedia dell’amministratore. Amo il rilevamento spam con AI e il triage con AI, specialmente in un forum meteo dove i post politicamente carichi riguardo al cambiamento climatico (sia a favore che contro) sono una caratteristica regolare. Grazie di tutto <3