Skip to main content

Docmost

IMPORTANTE: Per questo esercizio, eseguite i comandi docker con sudo
ES: sudo docker compose up

Fase 1: installazione di Docmost

Pagina del progetto: https://docmost.com/

Create un docker-compose.yml e relativo file .env per avviare Docmost localmente.

Una volta avviato:

  • Visitate la pagina dell’applicativo in esecuzione
  • Create un nuovo utente e workspace
  • Create una nuova pagina con del contenuto

NOTA: Tutti i volumi in “bind mount” devono essere sotto la cartella `./data`

Checkpoint 1

Fase 2: Aggiungere i backup automatici allo stack

Modificate il docker-compose.yml per aggiungere l’immagine offen/docker-volume-backup allo stack.

Configurate opportunamente il servizio per eseguire il backup di tutti i volumi, con le seguenti regole:

  1. Gli archivi di backup devono essere salvati nella cartella locale backup
  2. Il backup deve eseguire ogni 5 minuti
  3. Il periodo di ritenzione dei backup è di 7 giorni
  4. BONUS: configura notifiche di backup (fail/success) con healthchecks.io
  5. BONUS: configura uno storage backend in cloud (“Dropbox, Gdrive, S3, …”) tra quelli supportati
  6. BONUS: esegui lo stack in docker rootless (senza sudo) e risolvi il problema di docker-volume-backup allo stop dei container.

Checkpoint 2: Verificate che gli archivi di backup vengano creati e chiamatemi quando è pronto

Fase 3: Ripristino da backup

  1. Eliminate la pagina di prova creata in precedenza
  2. Fermate lo stack
  3. Ripristinate un backup precedente
  4. Avviate lo stack e controllate che la pagina sia nuovamente presente

Checkpoint 3

BONUS: crea un semplice script per automatizzare le operazioni di ripristino del backup:

  1. Stop dei container
  2. Rimozione del contenuto attuale della cartella data
  3. Estrazione del contenuto dell’archivio di backup nella cartella data
  4. Avvio dello stack
Soluzione
# sudo -i
docker compose down
sudo rm -rf ./data/*
tar xvf ./backups/backup-gg-mm-aa.tar.gz  -C ./data --strip-components=1 
docker compose up -d