Hi,
After the upgrade to EE 24.10 all my apps are missing. I have tried to unset and then set the pool but that doesn’t work.
Do you have any advice?
Yes - revert back to Dragonfish whilst you work out what to do with your apps.
In short, up to Dragonfish apps were run by Kubernetes/Helm. In ElectricEel, apps are now Docker.
If your apps are TrueNAS Charts (i.e. by iX) they should migrate automatically from Helm to Docker when you upgrade.
If your apps are TrueCharts or self-generated, you will need to handle the migration manually - which probably means (not done this myself yet):
- Ensuring that all data is externalised to normal pools rather than being in hidden ixVolumes.
- Noting all the app details - especially for non iX apps.
- Checking which apps are in the TrueNAS Docker library and which aren’t, and planning how you will deal with those that aren’t.
- Upgrading to EE.
- Checking that the TrueNAS Charts apps have migrated correctly and are working.
- Manually installing all the other apps, pointing them to the existing data and ensuring that they are now working.
This is non-trivial effort.
P.S. I previously advised iX that they needed a warning about apps for people upgrading to EE. I am not sure whether they heeded this and provided such a warning.
In addition to apps from an external catalog, there are a few situations that would prevent apps from migrating on upgrade. Make sure you read the Upgrade Notes section here:
This is how I fixed my apps.
- Create network for the Apps, check which subnet is unused using “docker network ls” and inspect the networks
docker network create \
--driver bridge \
--subnet 172.16.X.0/24 \
--gateway 172.16.X.1 \
ix-APP-NAME_default
- Create folder for the legacy data
mkdir -p /mnt/Legacy/VMs/APP-NAME-data
- Mount legacy drive
mount -t zfs VMs/ix-applications/releases/APP-NAME/volumes/pvc-XXXX /mnt/Legacy/VMs/sonarr-data
- Create folder for the app in the new app directory
mkdir -p /mnt/.ix-apps/app_mounts/APP-NAME
- Copy everything over from the Legacy drive
cp -r /mnt/Legacy/VMs/APP-NAME-data/* /mnt/.ix-apps/app_mounts/APP-NAME
- Start an instance of the app using docker image while mounting the data
docker run -d \
--name=APP-NAME\
--network=ix-APP-NAME_default \
-p PORT:PORT \
-v /mnt/.ix-apps/app_mounts/APP-NAME:/config \
-e TZ=Etc/UTC \
--memory="4g" \
--restart unless-stopped \
linuxserver/sonarr