Scaleway ha cambiato qualcosa? Ha funzionato per me fino a 48 ore fa, ma non funziona più.
La tua bolletta è pagata? Cosa c’è che non va? Funzionano delle immagini? Sono tutte sparite o non riesci proprio ad aggiungerne di nuove?
Puoi aggiungere un po’ più di supporto? Ad esempio, Tencent COS dalla Cina è più comodo per gli utenti cinesi e COS di Tencent Cloud ha nodi CDN in tutto il mondo, il che è molto veloce da accedere.
L’hai provato? Funziona?
L’ho usato nell’ambiente di test, ma posso eseguire il backup solo su Tencent COS e spero che il team di Discourse possa aggiungere il supporto per Tencent COS per facilitare gli sviluppatori dalla Cina.
Penso che dovrai condividere ciò che hai fatto e quali errori o problemi hai avuto. Poi qualcuno potrebbe essere in grado di suggerire come farlo funzionare. Potresti guardare gli altri esempi e vedere se puoi usarli per farlo funzionare.
Penso che sia improbabile che apportino modifiche al core per supportarlo.
Backblaze:
- Ho configurato un bucket B2 nel mio account
- Aggiunti i dettagli nella sezione
envdiapp.yml - Eseguito
./launcher rebuild app
…ma non vedo alcuna conferma nella dashboard della mia istanza Discourse che queste impostazioni abbiano avuto effetto. Dove dovrei guardare?
Ciao,
Sono riuscito a testare e utilizzare Cloudflare R2 sia per i caricamenti che per i backup. Post dettagliato qui Cloudflare R2: Navigating Setup and Handling Configuration Errors - #40 by kamaljain
Ti chiederei gentilmente di testarlo anche tu e di rivedere “Funziona con Discourse” su Sì per Cloudflare R2. In effetti è più facile di S3 e più economico, gratuito se si hanno meno di 10 GB di spazio di archiviazione.
Anch’io ho testato una configurazione su multisito e penso che funzioni.
Ho visto qualcosa che mi fa chiedere se sia possibile ottenere un elenco di backup. Cercherò di controllare la mia configurazione.
Ciao amico, posso chattare con te? Ho qualche problema durante la configurazione con MinIO.
Grazie.
Configurazione iDrive
Volevo solo segnalare che l’utilizzo della versione E2 di iDrive per lo storage s3 funziona perfettamente con queste impostazioni:
Impostazioni ENV nel file yaml
Assicurati che il tuo bucket abbia almeno i permessi Pubblico e Lettura nelle impostazioni di iDrive.
Queste sono le impostazioni che uso per un bucket che condivide uploads e backups.
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: tua-regione
DISCOURSE_S3_ENDPOINT: https://il-tuo-endpoint-idrive.dev
DISCOURSE_S3_ACCESS_KEY_ID: la-tua-chiave-di-accesso
DISCOURSE_S3_SECRET_ACCESS_KEY: la-tua-chiave-segreta
DISCOURSE_S3_CDN_URL: https://il-tuo-cdn-personalizzato.com/uploads
DISCOURSE_S3_BUCKET: il-tuo-nome-bucket/uploads
DISCOURSE_S3_BACKUP_BUCKET: il-tuo-nome-bucket/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
Per impostazione predefinita, iDrive ha Condividi tutto in questa regione con ogni origine… quindi dovrebbe funzionare subito indipendentemente dalle origini. Bloccalo sui tuoi domini se vuoi.
Utilizzo un certificato di origine Cloudflare per creare un CNAME che punta all’endpoint iDrive.
Sincronizza allegati esistenti
Ricostruisci
Ricostruisci l’app dopo aver modificato queste impostazioni ENV.
Carica e Ricodifica
Quindi entra nel container ed esegui
rake uploads:migrate_to_s3
Guardalo caricare, quindi esegui
rake posts:rebake_uncooked_posts
Esci dal container
Aggiungi alla sezione hooks del file yaml
Nella sezione hooks
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
Questo assicura che js/css vengano caricati su iDrive dopo i tuoi allegati, altrimenti otterrai un sacco di errori nella console del browser poiché mancano tutti.
Ricostruisci
Ricostruisci di nuovo dopo che il comando degli asset è stato inserito.
Tutto dovrebbe andare bene!
Forse il servizio Hetzner Object Storage dovrebbe essere aggiunto alla tabella?
Sono riuscito a usare Contabo per i caricamenti di file. Sia i file vecchi (migrati) che i nuovi caricamenti hanno funzionato bene. Nel mio caso l’URL del bucket era https://eu2.contabostorage.com/mybucket.
Il trucco è stato impostare EU2 come nome del bucket e https://contabostorage.com/mybucket come endpoint.
L’unico problema è che quando si carica il sito, richiede anche altri file come i js dei plugin dal bucket e non vengono caricati perché i file non sono disponibili. Bene, ho capito che questo accade perché ho impostato l’URL della CDN uguale al bucket. Questo non mi è ancora molto chiaro, qualcuno può dirmi come configurarlo? Da quello che ho capito devo creare un indirizzo cname che punti al dominio principale (server discourse) e inoltrarlo con cloudflare, è corretto?
Ti sei perso questo pezzo:
Sono sicuro di averlo fatto, ma forse ho commesso un errore. Alla fine ho ripristinato un backup, quindi vado un po’ a memoria… Ma allora mi chiedo, perché è sconsigliato impostare un CDN come Bucket? Quali problemi può causare? Riproverò domani.
Grazie
Non credo che il problema che descrivi sia dovuto all’impostazione dell’URL del CDN come URL del bucket (cioè, se i caricamenti funzionano, ma gli asset no).
Ti aggiorno domani, grazie
E ha funzionato ![]()
Passo dopo passo di quello che ho fatto sperando di aiutare gli altri:
modificato app.yml e aggiunto
after_assets_precompile:
- exec: cd: $home
cmd: - sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
dopo hooks: (subito dopo git clone plugins…)
e
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: EU
DISCOURSE_S3_ENDPOINT: https://contabostorage.com/bucketname
DISCOURSE_S3_ACCESS_KEY_ID: accesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: secretaccesskey
DISCOURSE_S3_CDN_URL: https://eu2.contabostorage.com/randomlettersthatcontaboaddstothelinks:bucketname
DISCOURSE_S3_BUCKET: eu2
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
dopo le impostazioni email
poi ho impostato gli stessi valori nel menu di discourse e abilitato i caricamenti S3.
Ricostruito l’app con
cd /var/discourse
sudo ./launcher rebuild app
poi
./launcher enter app
rake uploads:migrate_to_s3
Ci vuole un po’, nel mio caso qualche ora (80k file, 100GB)
Quando finito
rake posts:rebake_uncooked_posts
Aggiornamento: alcuni utenti non sono riusciti a caricare il sito (asset e file). Abbiamo scoperto che il dominio contabostorage.com era presente in alcune blocklist come sito di phishing. La soluzione è stata semplice:
configura un sottodominio files.mydomain.com come descritto qui Can I Setup a Custom Domain for My Object Storage? : Contabo
Aggiornato DISCOURSE_S3_CDN_URL: https://files.mydomain.com in app.yml
Poi
cd /var/discourse
sudo ./launcher rebuild app
e per completare il lavoro
./launcher enter app
rake posts:rebake
Ora tutti gli asset e i caricamenti vengono caricati da https://files.mydomain.com/pathtofile/file.ext
Fatto
