I’m currently in the process of attempting to update the LiveODM environment.
So far, I have succeeded in updating within 16.04LTS to the latest packages without issue/breakage.
My intent at this juncture is to get LiveODM to “self-host”, so that I can use Piero’s script to git/compile/run the latest WebODM+ODM natively under the LiveODM environment.
I’ve had to install a number of missing dependencies to get as far as I have, but now I’m afraid I’m stuck with an error with django-guardian.
django.core.exceptions.ImproperlyConfigured: In order to use django-guardian's ObjectPermissionBackend authorization backend you have to configure ANONYMOUS_USER_ID at your settings module
Did you make sure to enable a Python3 virtual environment while installing the pip dependencies for WebODM? I’m guessing you probably installed pip dependencies using the general command pip install <dependency>, which probably installed the wrong version of a package; always install dependencies using the requirements.txt file via pip install -r requirements.txt making sure you are within a Python 3 (not python 2) environment when dealing with WebODM.
So, I got greedy and pushed to 18.04LTS and broke node?ODM (localhost:3000 processing node offline), though WebODM seems to work just fine. Seems to be a missing library issue with 18.04LTS using grass 7.0.4.1 versus 7.0.4.0 for 16.04LTS. Not sure how to work around that quite yet.
If either of you feel like you can spare a minute to help me parse this log, that’d be amazing. I’m at a bit of an impasse currently, trying to figure out what my next blocker is that I need to take down.
Just jumping in to say that I have the LiveUSB installed in a VM and would love to be able to keep it updated too. I am not a docker/django/pip/python/node person though so I will have to watch and maybe I’ll be useful if you get to the point where you and Piero want to have someone else try the instructions.
P.S. The first error I hit was on line two of those instructions/suggestions where /code is not a git repository. At that point, it was obvious that I’d be going off-piste and I’m not up for that at the moment.
Check out the link to my GitHub repository, where I’ve been tweaking a few of the configuration and shell script files. I made it past that hurdle already, and I’d love to hear if my modified scripts/configs work in a fully original 16.04LTS environment for you, if you’re willing to try.
I’d definitely recommend a snapshot before you begin, though.
What are everyone’s thoughts on a SNAP package for LiveODM? Does that help solve dependency issues for a “native” install?
I’ve been asking around, and I think it might be time for me to reset, go to 18.04LTS, and try again to see if I get any further than I did under 20.04.
Thanks. I think a snap would be fantastic. Although similar, snaps seem to have started with trying to solve the deploy and update problem on linux while docker seems to have started as more of a helper with development environments on linux. That difference in early focus seems to make a big difference when it comes to supporting an environment after install.
That said, snap doesn’t yet have much support beyond linux so it may not be something the ODM/WebODM devs want to take on themselves. Personally, I’d love a WebODM snap that runs on 20.04. Are you thinking of trying to make/maintain one?
I don’t know enough about all the building blocks of WebODM. It looks like it uses a big bunch of stuff under the hood. Some of it may only be needed for all the docker packaging though.
Check out https://snapcraft.io/ where they have some tutorials to step through for a bunch of different application environments. I don’t know what happens if you have several environments going on at once (like python & node). I bet you’d have to start from the vanilla dependencies at https://github.com/OpenDroneMap/WebODM#run-it-natively and skip all the docker stuff.