So, I moved my nextcloud directory from a local SATA drive to a NFS mount from a nvme array on a 10G network

“I just need to change /docker/nextcloud to /mnt/nfs/nextcloud in the docker-compose.yml, what’s the issue, i do it live” - i tell myself

So i stop the container, copy /docker/nextcloud to /mnt/nfs/nextcloud, then edit the docker-compose.yml… and… because I’m doing it during a phone call without paying too much attention i change the main directory to /docker

I rebuild the container and I immediately hear a flood of telegram notifications from my uptime-kuma bot… oh oh…

Looks like the nextcloud docker image has an initialization script that if it doesn’t find the files in the directory, it will delete everything and install a fresh copy of nextcloud… so it deleted everything on my server

Luckily i had a very recent full borg backup and i’m restoring it (i kinda love-hate borg, i always forget the restore commands when in panic and the docs are a bit cryptic for me)

Lessons learned:

  1. always double check everything

  2. offsite backups are a must (if i accidentally wrote / as path, i would have lost also the borg backups!)

  3. offsite backups should not be permanently mounted, otherwise they would have been wiped as well

  4. learn how to use and schedule filesystem snapshots, so the recovery wouldn’t take ages like it’s taking right now (2+ hours and i’m not even half way…)

  • Moonrise2473@feddit.itOP
    link
    fedilink
    English
    arrow-up
    26
    ·
    1 year ago

    If anyone else is reading this in the future:

    After 8 hours the backup is restored (of course i stored it on a wd green…) but then nextcloud gave error 500 with lots of errors like:

    Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [1129] Host ‘172.26.0.1’ is blocked because of many connection errors; unblock with ‘mariadb-admin flush-hosts’ in /var/www/html…

    DON’T PANIC. You didn’t screw up the restore!

    Just access your database with heidisql or your favorite tool and query FLUSH HOSTS;

    • WhyAUsername_1@lemmy.world
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 year ago

      if any one else reading this in the future

      My guy just documenting for his future self, if it ever happens again.

      Haha

      Been there 🤣