OpenDroneMap Migration Guide
This guide covers the steps needed to migrate from OpenDroneMap’s ecosystem to WebODM’s. In most cases, migrating is just a matter of switching to the new docker images or packages.
WebODM
Section titled “WebODM”-
If you’re using the native installers simply download and install the latest version.
-
If you’re using docker, running
./webodm.sh updatewill upgrade the software to the latest version and automatically point to the new repositories.
If you manually added processing nodes or modified the docker .yml files, just make sure the processing nodes uses webodm/nodeodx instead of opendronemap/nodeodm. Make sure you are using webodm/webodm_webapp and not opendronemap/webodm_webapp. See the this file.
ODM is replaced by ODX. Change the docker image from opendronemap/odm to webodm/odx:
docker run -ti --rm -v /my/project:/datasets/code webodm/odx --project-path /datasetsReasons To Migrate
Section titled “Reasons To Migrate”- ODX is substantially faster
- ODX is substantially smaller in size to download
- ODX will work with all your DJI images, ODM does not.
- ODX will create crack-free 3D models, ODM does not
- ODX will create 3D tiles in the correct orientation, ODM does not
- ODX merges split-merge orthophotos quickly, ODM does not
- ODX supports checkpoints, ODM does not
- ODX supports GPU feature matching, ODM does not
There’s plenty of other improvements and fixes that have been added to ODX that are missing from ODM.
Developers
Section titled “Developers”If you added custom changes to a fork on top of ODM before April 6th 2026, you should be able to simply update the repo by rewinding to the last shared commit and fast forwarding with:
git checkout -b odxupgrade 5f05b988eb63e8900fb9b66d0d183c0cab337b7cgit remote add odx https://github.com/WebODM/ODXgit pull odx master# Resolve conflicts if anygit commit -a -m "Upgraded to ODX"If you made changes after April 6th 2026, you need to perform the same procedure, but cherry-pick or reapply your changes on top of the new source tree.
NodeODM
Section titled “NodeODM”NodeODM is replaced by NodeODX. Change the docker image from opendronemap/nodeodm to webodm/nodeodx:
docker run -ti --rm -p 3000:3000 webodm/nodeodxReasons to Migrate
Section titled “Reasons to Migrate”- Guarantee compatibility with future versions of WebODM.
- NodeODX does not have deprecation warnings.
PyODM is replaced by PyODX. To migrate:
- Change the import from
pyodmtopyodx:
from pyodx import Node- Rename
OdmErrorexceptions toGenericError:
from pyodx.exceptions import GenericErrorThere are no other changes. See also PyODX reference.
Reasons to Migrate
Section titled “Reasons to Migrate”- PyODX keeps receiving updates. PyODM does not
ClusterODM
Section titled “ClusterODM”ClusterODM is replaced by ClusterODX. Change the docker image from opendronemap/clusterodm to webodm/clusterodx:
docker run --rm -ti -p 3000:3000 -p 8080:8080 webodm/clusterodxReasons to Migrate
Section titled “Reasons to Migrate”- ClusterODX keeps receiving updates. ClusterODM does not
- ClusterODX does not have deprecation warnings.
CloudODM
Section titled “CloudODM”CloudODM is replaced by CloudODX. Up to date releases are now published at https://github.com/WebODM/CloudODX/releases/.
Reasons to Migrate
Section titled “Reasons to Migrate”- CloudODX keeps receiving updates. CloudODM does not
Migration Help
Section titled “Migration Help”Have any questions? Join a community and someone will help you.