How to start discourse inside a linux container?

Ho provato a far funzionare discourse all’interno di lxd su un server ubuntu su un raspberry pi 4 con un ssd usb, e si bloccava e andava in timeout durante le ricostruzioni, il blocco era peggiore/precedente usando un pool di archiviazione loopback btrfs e successivamente usando un pool di archiviazione loopback zfs. La memoria era costante intorno a 1 GB con picchi di 3 GB. I blocchi avevano ssh/top reattivi ma tutta l’attività di utilizzo scendeva a livelli trascurabili, indicando che si era arreso.

Oggigiorno la documentazione di lxd consiglia solo di impostare security.nesting al valore stringa true per abilitare l’uso di docker, che è quello che ho fatto. Tuttavia la documentazione di lxd ha anche una pagina per la configurazione di produzione con circa 20 impostazioni che devono essere modificate, che non ho provato.

Alla fine ho rinunciato al mio tentativo di lxd per discourse e ho semplicemente eseguito discourse tramite docker sulla stessa macchina.

Dettagli dei miei sforzi qui:

Stranamente la guida lxd docker qui sotto consiglia btrfs nonostante la documentazione di lxd lo sconsigli, e non sembra utilizzare una partizione per esso (eppure impostano alcune impostazioni aggiuntive, installano altri pacchetti invece di docker.io, e collegano il volume btrfs solo a docker), quindi mi chiedo perché abbia avuto tali problemi:

@vmsman puoi condividere maggiori dettagli sulla tua configurazione lxd, come profili, pool di archiviazione e qualsiasi impostazione di sistema che necessitava di modifiche, poiché sembra che tu abbia avuto la configurazione di maggior successo finora:

Per lxd, alcune cose su cui mi interrogo:

  • se le partizioni per i pool di archiviazione invece dei file loopback risolvessero abbastanza i problemi di prestazioni da far scomparire i problemi di blocco
  • se l’uso di microcloud o di un cluster lxd potesse aiutare, o l’uso di ceph come pool di archiviazione

Tutto sommato, nonostante non sia riuscito a far funzionare discourse in lxd, sono molto colpito da lxd e dalla sua facilità d’uso. In precedenza ho trascorso mesi a lottare con hashicorp, poiché hashicorp sembra interessato solo ai casi d’uso aziendali. Mentre lxd funziona e le persone sembrano abbastanza di supporto da consentire a piccoli team e sviluppatori indipendenti di fare progressi.