tiredofit / docker-osticket

Dockerized help desk application
MIT License
71 stars 56 forks source link

osticket not compatible with Alpine (musl libc) #9

Closed cdhowie closed 3 years ago

cdhowie commented 3 years ago

There are various errors/warnings from osticket's PHP code resulting in incompatibilities between musl libc and GNU libc. For example, on the "install a new plugin" page, the following PHP notices appear:

Warning: Use of undefined constant GLOB_BRACE - assumed 'GLOB_BRACE' (this will throw an Error in a future version of PHP) in /www/osticket/include/class.plugin.php on line 253

Warning: A non-numeric value encountered in /www/osticket/include/class.plugin.php on line 253

This is because the GLOB_BRACE flag is not provided by musl's libc and the corresponding functionality is not implemented. See docker-library/php#719.

tiredofit commented 3 years ago

Interesting, I was running this image for nearly 4 years without an issue. Anyways, have a look at tiredofit/osticket:debian . Theoretically it should just work in the same way as the Alpine based image without the errors. If it works for you, then I can push a commit to the repository and make the build always use the Debian variant.

cdhowie commented 3 years ago

Oh, interesting. Somehow I missed that there was a debian tag. I will test and get back to you.

tiredofit commented 3 years ago

Oh I just created it for you :) For the most part my code is interchangeable thanks to some heavy work on my base images. Just a bit of shifting from the package managers and all works mostly the same with little modifications.

cdhowie commented 3 years ago

Cool, thanks. :) Yes, it does seem to resolve that one error. There's still others I'm trying to troubleshoot, in the LDAP plugin. In particular, this line seems to fail so I suspect some permissions issue in the image, but it's hard to say. But that's a different issue. (It's not clear to me if plugins should "just work" with this image or if there's more work to setting them up.)

tiredofit commented 3 years ago

Hm. As I said I used this for a couple years, I can't remember if I used the LDAP or the MultiLDAP plugin to make it connect to our (openldap based) systems. Theoretically it should all work, of course until it doesn't.

I note that I am quite a few versions behind. I can update this to the latest 1.15.3 and send on up to Docker Hub if you'd like? I haven't really touched this image for a bit and instead have moved my 100+ person team over to using Freescout, which that image I am supporting much better.

cdhowie commented 3 years ago

I can update this to the latest 1.15.3 and send on up to Docker Hub if you'd like?

If it's no trouble. I'd definitely be willing to test.

moved my 100+ person team over to using Freescout

We briefly looked into using Freescout but the massive amount of functionality locked behind paid modules was kind of a drawback. :(

cdhowie commented 3 years ago

If it's as easy as modifying the version in the dockerfile, I can build the updated image myself (to save you the trouble).

tiredofit commented 3 years ago

Not to worry, I don't mind polishing this back up. I've just updated my changes in the repo to support building from Debian, and also updated CI to build versions based on PHP 7.3 7.4 and 8.0 - I don't know if 8.0 will work entirely, but was easy enough to build it into the CI pipeline. Happy to add any PR's if you encounter any thing/want to enhance the image, I'm not doing much with it these days.

cdhowie commented 3 years ago

Don't think there's any reason to leave this open. Thanks for your help! If I run into any other problems I will open an issue or submit a PR.