/var/discourse/launcher run app "echo 'BackupRestore::Backuper.new(Discourse.system_user.id, with_uploads: false).run' | rails c"
Se prendo la strada di rails c, il backup funziona. Ma quella riga singola dovrebbe funzionare anche lei — o funzionava già nel 2020 (o era il -22…)
E quello che sto davvero cercando di fare è ottenere solo un dump del database, compresso, in un posto dove posso spostarlo su S3. E no, non voglio farlo manualmente, il backup deve essere automatizzato. E no, una volta al giorno non è sufficiente, perché non voglio perdere 24 ore di dati se qualcosa va molto male.
Intendi connetterti a redis? Qual è l’errore effettivo che vedi?
launcher run app esegue un comando in un nuovo contesto di container, quindi redis non sarà in esecuzione. Questo funzionerebbe solo se redis è esterno.
Quanto segue dovrebbe funzionare poiché viene eseguito nel contesto del container esistente:
docker exec -i app rails c <<<'BackupRestore::Backuper.new(Discourse.system_user.id, with_uploads: false).run'
Perché stai facendo quanto sopra invece di, ad esempio, il più semplice discourse backup --sql-only?
Puoi anche dire a Discourse di utilizzare direttamente S3 come posizione per i backup, se lo desideri.
Poiché Docker e i container sono posti orribili, dove niente funziona, come crontab e nano So, più o meno, cosa fare quando vedo /var/discourse ma dopo ./launcher enter app sono completamente perso. Ecco perché il mio server Mastodon esegue il backup da solo, ma Discourse no (beh, una volta al giorno sì, ma comunque).
Sì, so che discourse backup fa quello che voglio, invia persino il dump a S3, ma non so come programmarlo — a causa di quella cosa orribile e terrificante del container, che è un sistema operativo dentro un sistema operativo.
Couldn't connect to Redis
bundler: failed to load command: pry (/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/pry)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection': Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
E dopo c’era una lista lunga un miglio dove ogni riga iniziava con from e c’erano un milione di cose diverse di ruby, gemme, ecc. Non sembrava molto interessante.