Specifying alternative location for system apps


I raised this question back in 2021 (see here) and at the time, a GitHub issue was created to do some work to support a fix, but it doesn’t look like there’s been any action on it.

Is it possible to change the system app root from /var/www/ood/apps/sys to a different location? We could make that directory a symlink to somewhere else, but I’m not sure if there would be any unexpected behavior when updating OOD, since that’s where the core apps e.g. dashboard, files, shell) are also stored.

If it’s not possible to make the system app root configurable, then we will explore other options.


I’m not sure if there is a way to do this because it comes from the packaging system. I mean, the package installs to that location. It’s almost like you’d have to build a different package (RPM or DEB) to have it install into a different location.

A symlink could work though - assuming that the next package would write into the symlinked directory which seems like a reasonable assumption.

Hi Jeff,

Thanks for the reply. I think I understand better now, i.e. since that path part of the RPM structure, it can’t be readily changed via an environment variable like some other paths, e.g. $OOD_DATAROOT.

Basically what we’re looking for is a way for multiple people on our team to contribute to production app deployment without having admin privileges on our OOD nodes. I would be interested in knowing what OSC and other sites are doing in terms of workflows for production app deployment.


You separate deployment from development. We use puppet to deploy the apps’ RPMs. So we (the developers with no root access) work through Github to update the applications. Tag a release, and we have some automation to build an RPM. We then update our puppet configurations through another internal merge request. At that point it’s in our operations’ folks’ hands, and we request them to promote it through.

Without all that automation, you could still do it with ansible. You (or the developers without root access) develop the app on github or any other git repository. When you create a tag, then you can ask the Operations folks (or whoever has root access) to update app ABC to version 1.2.3.

Thanks, Jeff. I appreciate the tips.