Ripristina il backup su un'istanza locale in modo sicuro/anonimizzato

Voglio fare qualche esperimento con plugin, temi, ecc. in locale, per evitare il rischio di rompere il forum reale. Ma configurare tutto in uno stato simile a quello del forum reale è difficile, quindi sarebbe ottimo poter ripristinare semplicemente il backup su un’istanza locale.

Tuttavia, come posso farlo per evitare rischi come l’invio di email agli utenti reali dall’istanza locale? Ci sono anche altre insidie di cui non sono a conoscenza?

Esiste un modo per anonimizzare tutti i dati degli utenti nel backup (rimuovendo almeno gli indirizzi email)? O è possibile ripristinare tutto tranne i dati degli utenti?

Esegui questo da una console di Rails per anonimizzare tutti gli utenti tranne lo staff:

acting_user = User.find(-1)
User.all.each do |u|
  next if u.staff? 
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end

Non sarebbe più semplice disabilitare tutte le email in uscita? È un’impostazione globale del sito.

Sì, probabilmente è più semplice impostare questa opzione. Tuttavia, come ho capito, il backup sovrascriverà tutte le impostazioni, quindi c’è il rischio che vengano inviati alcuni email tra il completamento del ripristino e la disattivazione delle email, a meno che l’istanza di origine non le avesse già disattivate anche durante il backup.


Comunque, ho capito che probabilmente sarebbe meglio utilizzare semplicemente un server e un dominio separati invece di una configurazione di sviluppo locale con Docker.

Come ho capito, il ripristino del backup non modifica app.yml, quindi se non inserisco la configurazione SMTP in app.yml sul server di test, non avrà alcuna possibilità di inviare email?

In base a molte leggi, inclusa la CCPA, l’utilizzo di dati di produzione non anonimizzati negli ambienti di sviluppo e test è considerato un trattamento illecito. Il rischio di una violazione dei dati è maggiore in sistemi che potrebbero contenere bug, avere database su laptop o essere accessibili da persone non autorizzate.

No, perché Sidekiq viene messo in pausa durante un’operazione di ripristino.

Sì, ma intendevo non durante, ma dopo il completamento del ripristino (come ho capito, dopo di ciò tutti i processi vengono ripresi immediatamente?) e prima di aver modificato questa impostazione per disabilitare le email.

Mi scuso, la mia risposta era effettivamente incompleta. Quando viene ripristinato un backup di Discourse, le email in uscita vengono disabilitate automaticamente come parte dell’operazione di ripristino. Devono essere abilitate esplicitamente dopo il ripristino.

Devi ancora disabilitare manualmente il polling POP se è configurato, altrimenti la tua istanza di test potrebbe iniziare a elaborare le email in arrivo indipendentemente dall’istanza reale.

Grazie :slight_smile: Penso di utilizzare un’altra modalità di polling, tramite Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

Un’altra impostazione che probabilmente dovrebbe essere disabilitata è consenti indicizzazione nel robots.txt

Inoltre, ho aggiunto Restrict access to your Discourse site with HTTP Basic Authentication.

Gli amministratori ricevono un messaggio che li ricorda di abilitare le email in uscita?

Sì, l’avviso in alto nella pagina.