Sto utilizzando S3 per l’archiviazione degli allegati, che può gestire fino a 160 GB.
Ho modificato il limite di nginx impostandolo su 0 (illimitato)
Il parametro “upload_size” in app.yml è anch’esso impostato su 0
Non carichiamo direttamente su S3; i file vengono prima inviati al tuo server e poi dal server a S3. Ciò significa che non dovresti impostare un limite superiore allo spazio su disco disponibile.
Ok, vorrei impostare il limite a 10 GB, ho spazio su disco a sufficienza. Ma come posso modificare il limite di Discourse?
Puoi sovrascrivere il massimo utilizzando un plugin personalizzato. Puoi usare questo come esempio:
Grazie, posso confermare che il limite è stato rimosso utilizzando questo plugin e le seguenti impostazioni:
files:
max_attachment_size_kb:
client: true
default: 1024000
max: 6144000
Tuttavia, ho due problemi:
- Il caricamento di un file da 2 GB procede correttamente fino al 100%, ma poi fallisce con un errore generico in una finestra di dialogo.
- Ogni volta che provo, l’immagine Docker di Discourse aumenta di 2 GB e non viene liberato lo spazio!! Sto quasi finendo di spazio… come posso cancellarlo?
Sarai meglio servito usando un servizio di cloud storage di tua scelta e collegando i file nei topic di Discourse. Discourse non è pensato come strumento di archiviazione per file di grandi dimensioni.
Sto utilizzando l’archiviazione cloud S3. Non dovrebbe essere archiviato nulla su Discourse stesso.
Non è questo che intendo – intendo un servizio di cloud storage consumer come Google Drive, OneDrive, Dropbox, ecc.
Indipendentemente da come lo fai, Discourse non è progettato per gestire file di grandi dimensioni.
Indipendentemente da dove finisca il file, Discourse non è nemmeno concepito come un meccanismo di upload di file ingombrante.
Capisco che non fosse intenzionale, ma sarebbe una funzionalità fantastica per me e migliorerebbe l’esperienza utente se non dovessero dover passare a un altro servizio per caricare i file e poi tornare su Discourse.
Quindi spero non la prenderete a male se proverò a farla funzionare, nonostante non fosse l’intenzione dello sviluppo originale.
La meraviglia dell’open source è che sei libero di sperimentare.
Allo stesso modo, se qualcosa non è supportato, non ci sono garanzie che i futuri aggiornamenti di Discourse non rendano le modifiche che stai apportando oggi completamente inutilizzabili in futuro.
Sto valutando di permettere il caricamento di file di grandi dimensioni (potrebbero essere da 50 MB ed è possibile che ci siano caricamenti in blocco tramite l’API) anche sul mio sito. Sto solo cercando di capire il motivo di questa preoccupazione. Se S3 è configurato per gestire il caricamento e l’archiviazione di file di grandi dimensioni, e il forum Discourse si collega a tali file per mostrare un link di download agli utenti, qualcuno può fornire maggiori dettagli su dove prevedete che Discourse possa incontrare problemi?
L’attuale componente di caricamento non è semplicemente progettato per caricamenti di grandi dimensioni (solo il caricamento dei backup nell’interfaccia di amministrazione lo è).
Stiamo normalizzando e rifattorizzando il nostro codice di caricamento al momento e prevediamo di supportare i caricamenti diretti su S3; una volta completato ciò, tecnicamente i caricamenti di grandi dimensioni su S3 potrebbero funzionare.
Grazie per queste informazioni, @sam. Non ero a conoscenza in precedenza di come vengono archiviati i caricamenti di file. Quindi sembra che, per impostazione predefinita, i file caricati vengano archiviati sullo stesso server che esegue Discourse, nel qual caso capisco come i caricamenti di grandi dimensioni possano essere un problema. E comprendo anche il vostro impegno per supportare in futuro i caricamenti diretti su S3.
E se configuraste ora il sistema per inviare i caricamenti di file su S3, come descritto qui?
Ciò offrirebbe già oggi gli stessi vantaggi di quanto state pianificando di rilasciare in futuro come funzione automatica, permettendo a Discourse di supportare caricamenti e download di file di grandi dimensioni?
Il nostro attuale sistema di upload segue il percorso utente → server Discourse → S3.
Il nuovo sistema che stiamo implementando tra alcune settimane seguirà il percorso utente → S3.
I siti potranno passare senza intoppi al nuovo sistema di caricamento, in modo che i caricamenti effettuati con il vecchio sistema continuino a funzionare e quelli con il nuovo sistema funzionino anch’essi?
Presumo di sì, dato che tutto sarà archiviato su S3, ma volevo confermare. Grazie.
Poiché i file finiranno nello stesso luogo, semplicemente percorrendo percorsi più brevi, il cambiamento sarà trasparente sia per gli utenti che per gli amministratori.
Per chiarire: mi aspetto che gli utenti non notino alcun cambiamento, se non il fatto che (forse?) i loro file verranno caricati e scaricati più velocemente, e ciò consentirà caricamenti di file più grandi se gli amministratori lo desiderano. È corretto?
Probabilmente verranno caricati più velocemente. I download dovrebbero rimanere invariati (poiché la funzionalità influenzerà solo i caricamenti).
Immagino di sì, ma spetta al team di Discorso fare una dichiarazione ufficiale a riguardo.
