-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dockerhub page says port 80 is opened, but it's port 9000 fcgi that is opened #546
Comments
I can confirm that I'm experiencing similar issues. The Docker log indicates that the expected port is not being exposed as per the documentation. Here is the Docker log output for reference:
It appears that the documentation might not accurately reflect the current behavior of the Docker image, particularly with respect to the ports being exposed and the PHP version specified. Any guidance on this would be helpful. |
I speculate the port 80 thing might be before the docker image shifted to serving PHP-FPM (or equivalent) since so far as I can tell the current docker images only serve PHP-FPM services (and on port 9000), hence needing another nginx in-front of it to serve the other content too (non php files, and manage the php content sent to the PHP-FPM in the docker image). |
I just followed the instructions in the https://github.com/invoiceninja/dockerfiles page using docker compose, and I am getting the same errors shown here when I checked the logs for the app container. May I know what I need to update in order to get the application running? Thank you. |
From what I've seen, the exposed port 9000 service is PHP-FPM or roughly equivalent. So you will need to stick something in front of it (like nginx, but others can work) to handle incoming HTTP(S) traffic, and then be configured to use the invoiceNinja container for PHP-FPM functionality for the tool. In my case I added a side-car/secondary container for nginx to do this. Really aggravating that the documentation is so egregiously out of date with the actual behaviour of the container. It's not even a lot of work to change that documentation (which frankly isn't my job). So yeah, we (myself + others) have to resort to cobbling it together ourselves with half-assed and incomplete documentation. |
Thanks for the prompt response, I greatly appreciate it. Unfortunately, I am not a very technical person so this is a little hard for me to follow. Do you think you can give me a bit more guidance on how I can get it running? I am trying to host Invoice Ninja from my Synology using docker, and I am using Synology's built-in nginx reverse proxy. In my
And in my reverse proxy, I had it set to redirect from https://myurl to localhost:8001 . How should I be setting it up instead? Thank you very much again for your help. |
Also having the same problem, I don't know how to do that :( |
For those who might care this is how I got it working on my setup where the only part of the image I wanted was the ninja invoice as I am running nginx and mysql on the host in front of multiple docker images and other sites. nginx settings:
Docker-compose.yml
Please note a couple things:
Now in my case, I actually created a symlink at |
Are you running it in kubernetes/k8s? If so, would you mind sharing a first-page-load waterfall? I'm asking because my k8s setup, while working, the initial load is still PAINNNNNNNN. |
No just a simple docker container. But I can tell you my first load is fairly fast lest than 2 seconds (was my total waterfall time after emptying the entire cache, so a totally fresh load) and I also have another task in the background downloading so normally it is way faster than 2 secs |
Most Docker containers that run PHP apps serve HTTP from the container, so that the container can be treated as a black box and the user does not have to care about its exact implementation. For example, see https://hub.docker.com/r/linuxserver/freshrss. Serving php-fpm from the container is an interesting approach, as it's exposing an internal implementation detail that someone using the container shouldn't have to know (and that could change in the future). Not sure why it was designed this way. |
So I came back to this topic and I see on this page: https://hub.docker.com/r/invoiceninja/invoiceninja/ "Please note the following instructions are only for Invoice Ninja v4 For version 5 we have a docker compose file which bundles db / nginx / application which can be found here" Why even have those instructions on that page for an EXTREMELY OLD VERSION OF INVOICENINJA??? Like, I updated my running image in k8s and the Web App upgrade button is exposed now... but it breaks with an error that I cannot find any documentation on... Is ANYONE bothering with documentation at all now for invoiceNinja??? |
The documentation on the dockerhub page for this image series ( https://hub.docker.com/r/invoiceninja/invoiceninja ) says that port 80 is opened by the image. This is not only false, it's misleading. The only port that I can see being opened is 9000 and is fast cgi, which needs to have certain considerations for operation.
This documentation GROSSLY needs updating for many other reasons too, like it mentions PHP 7.2...
The text was updated successfully, but these errors were encountered: