Background jobs per nextcloud #21
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: golem/morgan#21
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Girovagando nella configurazione di nextcloud, ho notato che le attività in background vengono invocate ad ogni accesso pagina (metodo AJAX). Per istanze più grandi viene consigliato di usare cron, ma non so se il nostro container è predisposto per questo. Da valutare.
reference
Per reference, il mio docker-compose per nextcloud, in cui uso per l'appunto la soluzione con cron:
Premetto che sto parlando della mia istanza che gira sulla Raspberry.
Come Giulio e Giomba sanno ho recentemente avuto una serie di interruzioni di alimentazione (temporale notturno) che hanno totalmente incasinato il disco.
Dopo una serie di fsck sono riuscito a rendere il disco relativamente stabile per poterci leggere e recuperare il recuperabile.
Ho quindi usato un altro disco per reinstallare tutto da campo. Questa volta, invece di fare l'inistallazione di NextcloudPi direttamente sul sistema ho deciso di usare docker (tramite Portainer).
Ho quindi installato l'immagine e ripristinato in qualche modo sia il db che i files. Devo ancora finire di mettere a punto la configurazione e renderle accessibile da internet, ma direi che l'istanza e' funzionante (forse tra qualche anno dovro' accedere a qualche file che dara' errore, ma tanto vale).
Quello pero' che ho notato e' che, usando l'immagine ufficiale che si trova sull'hub docker, l'impostazione del tipo gestione dei processi schedulati interni a Nextcloud e' gestibile direttamente dall'interfaccia web senza dover fare niente nella configurazione del dockerfile.
Io mi sono trovato l'opzione su Cron dopo aver ripristinato il db dalla vecchia istanza. Non ricordo se ho cambiato io l'impostazione o nel tempo hanno cambiato il default loro.
Ad ogni modo non credo ci sia da fare niente a livello di dockerfile. Allego screenshot.
Appurato che si tratta di una cosa che va fatta, vorrei capire meglio cosa fa questo: è un microservizio a parte che in qualche modo si collega al database e periodicamente esegue i cron jobs?
Se comunque si tratta di modificare solo qualche riga nel
docker-compose.yml
sono molto più felice rispetto a dover fare un'immagine personalizzata da metterla nel registry, altrimenti diventa l'ennesima cosa da mantenere.Comunque, per quanto possa valere, mi sembrava di aver già attivato i cron jobs, insieme a n-altre cose che ti suggerisce in warning nel pannello di amministrazione, ma forse si è rotto qualcosa durante qualche aggiornamento.
Mi sono permesso di spulciare un po' nell'immagine stock di nextcloud e nel nostro container:
Quindi, ha ragione @gbiotti, dovrebbe essere già tutto pronto out-of-the-box e non dovremmo aver problemi a switchare.
Per me si può fare anche martedì, almeno siamo in compagnia se il container dovesse andare a fuoco :D
Riprendo.
Effettivamente, usando docker, la cosa deve essere portata avanti in modo diverso dal setup standard su host fisico.
Come dice @giuliof dal punto di vista dell'applicazione nextcloud tutto e' configurato correttamente, e effettivamente se si installa nextcloud su di una macchina (senza usare docker) tutto funziona, ma in realta' nell'immagine docker non c'e'
cron
e quindi non funzionera'.Per questa cosa pare ci siano diverse soluzioni, tra cui quella riportata da @lanquil che usa un altro "servizio" per
cron
nel docker-compose; sarebbe anche possibile (anche se da ignorante non mi piace) eseguire il comandophp
viadocker exec
direttamente concron
sulla macchina host.Riporto qui, a futura memoria, qualche link utile:
Nextcloud Docker Container - best way to run cron job
Docker setup & cron
Issue su github - Background jobs: Cron does not run #1695 in particolare questo commento alla issue.
Io speravo tanto che fosse tutto già pronto, sigh.
Quella di invocare il comando direttamente dall'host è una soluzione sicuramente brutta, ma magari più efficiente in risorse. Ho fatto notare in #16 che non siamo proprio larghi in ram, e spawnare l'ennesima immagine in più mi infastidisce.
Comunque, non mi oppongo a fare una prova anche nell'altro senso, ovvero aggiungendo il container parallelo, è effettivamente più pulito. Al solito, si tiene il server sott'occhio per un po' e se tutto va liscio si lascia così.