Migrating to 1.0 - markbaaijens/rpmusicserver GitHub Wiki

Coming from any version below 1.0, you cannot migrate through the usual upgrade-command b/c the upgrade will introduce breaking changes which turn your system into a broken one. Furthermore, b/c we moved the OS from 32-bit to 64-bit, a new image-burn is needed.

Steps to migrate to 1.0

(1) Burn a SD-card

  • burn a SD-card on a new card on your local computer as if it is a fresh instal
    • VERY IMPORTANT: install from develop instead of master, use these commands for downloading from develop:
      • wget https://github.com/markbaaijens/rpmusicserver/archive/refs/heads/develop.zip -O /tmp/rpmusicserver.zip && unzip -d /tmp -o /tmp/rpmusicserver.zip
      • mv /tmp/rpmusicserver-develop /tmp/rpmusicserver-master
    • see Steps to install RPMS on your Pi under 'Burn SD-card' for further instructions
  • card considerations
    • by taking a new card, you have a fall-back if things go wrong
    • you might use a bigger card b/c the System requirements concerning the size of the card have been changed

(2) Convert your system

  • backup your system
    • create a server-backup
    • optional: create remote backup
  • delete sync-folders in SyncThing
    • copy syncthing-config for later reference
      • ssh pi@rpms "cat /media/usbdata/rpms/config/docker/syncthing/config.xml" > ~/synthing-config.txt
    • record the folder-config functionally
      • sync-method (S Send, R Receive, S/R Send and receive)
      • current base folder (say /data/Muziek/xxx)
      • new base folder (say /data/music/xxx)
      • current subscribers
    • delete all folders in SyncThing
      • choose Discard when deleting folder (so that it can be added automatically later)
  • ssh to rpms
    • ssh pi@rpms
  • kill all containers
    • sudo kill-docker
  • move folders
    • sudo mv /media/usbdata/user/Publiek /media/usbdata/user/public
    • move music-folder
      • sudo mkdir /media/usbdata/user/music -p
      • sudo mv /media/usbdata/user/public/Muziek/* /media/usbdata/user/music
      • sudo rmdir /media/usbdata/user/public/Muziek
    • move downloads-folder
      • sudo mkdir /media/usbdata/user/downloads -p
      • sudo mv /media/usbdata/user/public/Downloads/* /media/usbdata/user/downloads
      • sudo rmdir /media/usbdata/user/public/Downloads
    • check result
      • tree -d -L 2 /media/usbdata/user
  • convert transcoder-settings
    • sudo sed -i -e 's/Publiek/public/g' /media/usbdata/rpms/config/transcoder-settings.json
    • sudo sed -i -e 's/public\/Muziek/music/g' /media/usbdata/rpms/config/transcoder-settings.json
    • check result
      • cat /media/usbdata/rpms/config/transcoder-settings.json
  • stop the server
    • sudo halt-server

(3) Install the new SD-card, boot the Pi and finish the installation

  • put the new SD-card into the Pi and boot-up
  • do an install, just like doing a new install of RPMS
  • re-create folders in SyncThing if needed, with these new locations of /data:
    • from /media/usbdata/user/Publiek
    • to /media/usbdata/user

(4) Check system if all is working well:

  • Samba-shares
  • LMS
  • Transmission
  • all pages and actions in the web-interface

Optional

  • to speedup server-backup, consider to move folders on the backup-device:
    • ssh pi@rpms
    • sudo mv /media/usbbackup/user/Publiek /media/usbbackup/user/public
    • sudo mkdir /media/usbbackup/user/music -p
    • sudo mv /media/usbbackup/user/public/Muziek/* /media/usbbackup/user/music
    • sudo rmdir /media/usbbackup/user/public/Muziek
    • tree -d -L 2 /media/usbbackup/user # To check
  • rework on your local computer:
    • manually modify local script for external backup if needed
    • modify bookmarks to shares
  • review LMS-settings:
    • prior to 1.0, there were some personal preferences injected as default, but since 1.0, the LMS-defaults are much more standard
    • review and adapt some LMS-settings