

Great. There’s two volumes there - firefly_iii_upload & firefly_iii_db.
You’ll definitely want to docker compose down first (to ensure the database is not being updated), then:
docker run --rm \
-v firefly_iii_db:/from \
-v $(pwd):/to \
alpine sh -c "cd /from && tar cf /to/firefly_iii_db.tar ."
and
docker run --rm \
-v firefly_iii_upload:/from \
-v $(pwd):/to \
alpine sh -c "cd /from && tar cf /to/firefly_iii_upload.tar ."
Then copy those two .tar files to the new VM. Then create the new empty volumes with:
docker volume create firefly_iii_db
docker volume create firefly_iii_upload
And untar your data into the volumes:
docker run --rm \
-v firefly_iii_db:/to \
-v $(pwd):/from \
alpine sh -c "cd /to && tar xf /from/firefly_iii_db.tar"
docker run --rm \
-v firefly_iii_upload:/to \
-v $(pwd):/from \
alpine sh -c "cd /to && tar xf /from/firefly_iii_upload.tar"
Then make sure you’ve manually brought over the compose file and those two .env files, and you should be able to docker compose up and be in business again. Good choice with Proxmox in my opinion.


I run nearly all my Docker workloads with their data just in the home directory of the VM (or LXC actually since that’s how I roll) I’m running them in, but a few have data on my separate NAS via and NFS share - so through a switch etc with no problems - just slowish.