Skip to main content

PVC Migration Script


This guide uses the HeavyBullets Migration Guide for PVCs so credit for this one goes there, also to Zasx from the TrueCharts team for the steps used to create these guides/scripts


Note: This will not be sufficient for apps that have a PostgreSQL database that were updated to the new CNPG common, Please see the more extensive guide for those apps. As well the script will exclude apps with database pods so those will have to be done manually or using our more extensive PVC Migration Guide with Postgres support guide.

Note: Make sure you have a Heavyscript backup and a replication of this backup.


Really make sure you have a backup/replication ready in case something goes wrong or you delete a PVC too quickly

Anything that doesn't have a database should succeed. Here's an incomplete list of tested apps:

adguard-home audiobookshelf autoscan bazarr calibre code-server Custom-app Apps deluge emulatorjs fileflows filebrowser flaresolverr freshrss heimdall homarr homepage jellyfin jellyseerr Komga mkvcleaver mymediaforalexa mysql-workbench organizr overseerr phpldapadmin plex podgrab prowlarr qBittorrent radarr readarr recyclarr sabnzb scrutiny sonarr syncthing tautulli transmission unifi unpackerr uptime-kuma

Not Working

This script does not work with Prometheus, so please follow our more extensive PVC Migration Guide with Postgres support guide.

Migration Steps

  1. First things first create a directory inside a dataset that's NOT ix-applications, for this guide I used migration

  2. Clone the Heavybullets Migration Git Repo

git clone
  1. Go to the TT-Migration sub-directory and excute
  1. Follow prompts

    a. Choose Application (for example `filebrowser`)

    Copy Config

    b. Once that's done press `x` and continue to the next screen and install the new Application

    New App Install

    c. Watch the app finish
    ![New App Finish](img/New-App-Finish.png)
  2. Enjoy new app


If an application fails to stop the NEW application, and throws any errors. You can attempt to run the script again, with:

bash -s

which will skip to the step immediately after deleting the old application.