The fanbase is still large, but the Lemmy community hasn’t quite caught up yet, and now there is a transitional period where the audience is smaller.

  • Bilbo Baggins@hobbit.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I’m using the easy Lemmy script to run the docker instance. How do I take a backup of a running docker instance.

    The backups I’ve done so far are full shard backups. But I don’t have a way to automate that.

    • Dave@lemmy.nz
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      The page here explains getting a database dump on a running instance (and how to restore): https://join-lemmy.org/docs/administration/backup_and_restore.html

      Then just back up the other files in the volumes directory where Lemmy is installed (everything except postgres, which is what the database dump does).

      The pictrs volume includes both the uploaded images and the image cache. I have no idea how to separate out the uploaded images so you don’t have to back up the cache, I just back it all up.

    • Die4Ever
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      this is the bash script I use to create backups

      #! /bin/bash
      # https://join-lemmy.org/docs/administration/backup_and_restore.html#a-sample-backup-script
      now=$(date +"%Y-%m-%d_%H.%M.%S")
      
      cd ~/lemmy && (docker-compose exec -T postgres pg_dumpall -c -U lemmy 1> dump.sql 2> dump.errors)
      cd ~/lemmy && zip -r9 ~/bak-lemmy-$now.zip ./ --exclude "volumes/postgres/*"
      rm -f ~/lemmy/dump.sql
      

      it creates very small zip files as a result so it’s very efficient

      I made a cron for it to run every 3 hours, like

      0 */3 * * * ~/lemmy/backup.sh
      
      • Bilbo Baggins@hobbit.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I figured out how to do this with docker container, but that’s not ideal for a script.

        Using docker compose it just fails with: Service “postgres” is not running container #1

        I can see lemmy-easy-deploy if I do: docker compose ls

        The service name is postgres in the docker-compose.yml file. Any idea what the issue might be?