I’m planning to move my instance to a new VPS provider that will allow me to scale more simply.

Has anyone done this already and can sanity check my plan? My current setup was spun up using the ansible playbook here.

Current plan is:

Lower DNS TTL to 60 seconds (already done)

Shutdown on current VPS: docker-compose down

backup /srv/lemmy/<instance>/ and copy to new host

sudo tar -zcvpf backup.tar.gz /srv/lemmy/<instance>/

scp backup.tar.gz user@newhost

update dns A and AAAA records, wait 1 minute, verify DNS has updated

run ansible script

Shutdown on new VPS: docker-compose down

restore backup to /srv/lemmy/<instance>/

Startup on new VPS with restored DB etc: docker-compose up -d

test

destroy old VPS

Increase DNS TTL to 86400

Anything I’ve missed? :)

  • Wintermute@lemmy.villa-straylight.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Seems reasonable to me, although I would think you want to shut down the old instance before you do the backup, otherwise you potentially lose any new data between when you take the backup and when you shut down the server.

  • drk@slrpnk.net
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I’m not familiar with the details of setting up a Lemmy instance, but can’t you already get the new instance up and running with a modified /etc/hosts instead of waiting for the DNS to be updated? That might reduce your overall downtime a bit.

    • Lodion 🇦🇺@lemmy.clickOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Nah, part of the playbook sets up the initial Lets Encrypt certificate… so DNS needs to point to the new VPS. And the hostname needs to match the existing instance as it is referenced in the database.

      Doesn’t matter now anyway, I went a different route :)