Hello! I've recently been testing out PieFed (I followed the Docker install instructions), it's actually working quite well... However, I'm a bit of a newbie system administrator, I was wondering if there was a guide or documentation available on how to back up/restore a PieFed instance installed this way? Being able to back up and restore the instance is the one stumbling block I need to get past in order to self host PieFed, so I would certainly appreciate any help that people can provide ๐Ÿ˜€ Thanks!

all 11 comments

sorted by: hot top controversial new old
[โ€“] 4 points 10 months ago (5 children)
  • [โ€“] [S] 2 points 10 months ago (4 children)

    Thanks, that should be simple to figure out if it's just one step, although I've never dumped a database from a Docker image before...I'll have to do some searching and see if I can figure it out!

  • source
  • parent
  • hideshow 4 child comments
  • [โ€“] 2 points 10 months ago (2 children)

    In addition to the DB, there's also a media directory with a lot of stuff like images. I guess that should be saved as well. Not sure how that's done with Docker but I'm sure it has some mechanism to back up volumes. It's called "media" in the docker compose file, or "app/static/media/" in my non-containerized install.

  • source
  • parent
  • hideshow 2 child comments
  • [โ€“] [S] 2 points 10 months ago (1 child)

    Unfortunately I haven't been able to figure this out, I was able to write a script for Mastodon that automated the process of dumping the database, copying the system folder and so on, I was able to restore a test backup I made successfully as well. I only say that to indicate that I have at least some familiarity with the shell, but not much ๐Ÿ˜ In the case of Mastodon it's running on "bare metal" so to speak rather than Docker, so this is probably much easier for someone who is familiar with Docker!

  • source
  • parent
  • hideshow 1 child comment
  • [โ€“] 1 point 7 months ago

    While you're figuring that out: Just stop Piefed and backup all the files. This works while you're building a better solution. For my whole server with more stuff it's just a minute for the full backup and I wouldn't mind a minute of downtime in the middle of the night.

  • source
  • parent
  • [โ€“] 1 point 10 months ago* (3 children)

    I haven't had to restore from my backup in production yet, but I run two instances and just periodically rsync the mapped volumes to a backup folder. I also use S3 for my media, so it is really just the database that is critical.

    Doing dev work, when I know I am about to really fuck up my database doing an experiment, I will rsync myself a backup...blow everything up...tear down the docker stack and swap back in my database folder and it is good to go.

  • source
  • hideshow 3 child comments
  • [โ€“] [S] 2 points 9 months ago (2 children)

    I appreciate all of the advice, it's really just my inexperience that's a problem here. It sounds as if it would be a simple matter of dumping the database from the Docker image and backing up the appropriate directories, but I'm having a heck of a time figuring out how to do that exactly. I'll keep trying though, but if any system admin out there could provide some concrete examples, I'd really appreciate it!

  • source
  • parent
  • hideshow 2 child comments
  • [โ€“] 2 points 9 months ago (1 child)

    I am not much of a sysadmin either and have had to get help from some other instance admins in the past. Here is the exact process I go through to manually make and then restore a backup. I don't have this automated since I just work in dev environments, but you could put this in a shell script and schedule it with cron or something like that.

    Here is how I make the backup (pgdata folder in my case):

    # Prerequisite: navigate to the pyfedi folder
    
    # Shut down the docker containers
    docker compose down
    
    # Wait for the containers to shut down...
    
    # Then make the backup of the db volume
    sudo rsync -a pgdata/ pgdata_backup
    

    And here is how I restore the backup if I mess up my db:

    # Again, need to be in the pyfedi folder
    
    # Shut down the docker containers
    docker compose down
    
    # Wait for the containers to shut down...
    
    # Delete the messed up db folder
    sudo rm -r pgdata
    
    # Rename the backup folder to swap it back in
    sudo mv pgdata_backup pgdata
    
    # Start the containers back up
    docker compose up -d
    
  • source
  • parent
  • hideshow 1 child comment
  • [โ€“] 1 point 10 months ago

    why haven't we patriated all russian assets we have frozen?

  • source