• 9 Posts
  • 67 Comments
Joined 2 years ago
cake
Cake day: July 29th, 2023

help-circle
  • 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’m not clear from your question, but I’m guessing you’re talking about data stored in Docker volumes? (if they are bind mounts you’re all good - you can just copy it). The compose files I found online for FireflyIII use volumes, but Hammond looked like bind mounts. If you’re not sure, post your compose files here with the secrets redacted.

    To move data out of a Docker volume, a common way is to mount the volume into a temporary container to copy it out. Something like:

    docker run --rm \
      -v myvolume:/from \
      -v $(pwd):/to \
      alpine sh -c "cd /from && tar cf /to/myvolume.tar ."
    

    Then on the machine you’re moving to, create the new empty Docker volume and do the temporary copy back in:

    docker volume create myvolume
    docker run --rm \
      -v myvolume:/to \
      -v $(pwd):/from \
      alpine sh -c "cd /to && tar xf /from/myvolume.tar"
    

    Or, even better, just untar it into a data directory under your compose file and bind mount it so you don’t have this problem in future. Perhaps there’s some reason why Docker volumes are good, but I’m not sure what it is.



  • thirdBreakfast@lemmy.worldtoSelfhosted@lemmy.worldIdeas
    link
    fedilink
    English
    arrow-up
    4
    ·
    21 days ago

    I’m local first - stuff I’m testing, playing with, or “production” stuff like Jellyfin, Forgeo, AudioBookshelf, Kavita etc etc. Local is faster, more secure, and storage is cheap. But then some of my other stuff that needs 24/7 access from the internet - websites and web apps - they go on the VPS.


















  • I have the opposite experience of this. All of my local services are a single docker container inside an LXC. I don’t like that it’s conceptually messy, but in practice it’s easy to manage. What I love about it is the simplicity of backing up or moving the entire LXC between servers.

    I’ve not had any drama with things breaking across Proxmox updates. The only non-gui thing I need to do during the process is adding two lines to the LXC conf to have Tailscale work correctly.