If you want to make a backup of all your data, make sure you grab the following:
.envfile in the root of your installation;
- The entire database or database file (in
- All uploads from
- Any exports from
If you’re running Firefly III in Docker, make sure you grab:
- The 3 volumes used by Firefly: “upload”, “export” and “db”
- The Docker variables you’ve used to launch the container, and especially the
That way you have everything you need in case of problems.
For example, to backup the database volume:
- backup with
docker run --rm -v "firefly_iii_db:/tmp" -v "$HOME/backups/firefly:/backup" ubuntu tar -czvf /backup/firefly_db.tar /tmp
- restore with
docker run --rm -v "firefly_iii_db:/recover" -v "$HOME/backups/firefly:/backup" ubuntu tar -xvf /backup/firefly_db.tar -C /recover --strip 1
A word of caution: Check that the volume exists BEFORE trying to back it up! If a named volume doesn’t exist Docker will create an empty one, and the command will backup that empty volume - wiping out the existing backup.
To get a better idea of how this works, see Docker’s official documentation.