Open kmanwar89 opened 1 month ago
The actual error message is invalid username/password, forgot to mention that:
Have that to. Problem only if using Nginx Proxy Manager. When direct connected to 3030 — login ok. Trying to use different advanced settings for nginx, but no luck
Have that to. Problem only if using Nginx Proxy Manager. When direct connected to 3030 — login ok. Trying to use different advanced settings for nginx, but no luck
That is exactly what I'm using! Perhaps its an NPM-side issue? Not exactly unprecedented...
Hey! Sorry for the late reply to this conversations, seems like many of you are having problem which by now seems like is definitely caused by the network setup of this compose setup. First of all, thank you @kmanwar89 for the very elaborate issue.
I'm not that familiar with networking, so any help is highly appreciated. For what I see, you attach all services to the same network - I assume that makes all them share the same space of available ports? This will cause problems because the backend and frontend service both listen on port 80.
Try changing the following (assuming port 3031 is not already used inside the given external network):
.env
-GENESIS_PORT=80
+GENESIS_PORT=3031
config/nginx.conf
location /api/ {
- proxy_pass http://backend/;
+. proxy_pass http://backend:3031/;
}
And if needed the port on where to actually access the app (assuming you want to access the app on 8080
):
config/nginx.conf
- listen 80;
+ listen 8080;
I couldn't test it with external networks as I don't have any similar network setups in use right now nor do I have any experience with NPM, so any help is highly appreciated!
The setup of this app is basically just one nginx container redirecting /api
-requests to the backend service and all other to the frontend service. Both currently running on port 80, that's why the said change above might work.
Support guidelines
Description
Very similar to the user in #3 , I'm unable to login after a fresh install - docker compose logs indicate a 501 (method not implemented) on each attempt. The only changes I'm making are to add in a docker network that I use to allow all services to be reachable via the container container name rather than configuring port/IP pairings. This works for about 30 other services on the same server. HTTPS is achieved by Cloudflare "full" SSL/TLS mode.
I get the same result whether or not I have the nginx proxy in my compose file - since I already have a proxy, I don't actually need this, but the result is the same even if I comment this out. Some logs from docker-compose - the 501's are my login attempts, I'm not sure what's causing the 404's but I haven't actually seen any 404 behavior in the browser:
Here's my compose file - the port # is commented out because I usually use whichever port is natively exposed by the dockerfile, but my result appears to be the same regardless of if this is commented or not:
Environment
Client Browser - Google Chrome Version 129.0.6668.101 (Official Build) (arm64) Client OS - MacOS Sequoia 15.0.1 Client Hardware - MacBook M3 Pro (2023) Ocular Version - 1.4.0 Docker Version -
Docker version 27.0.3, build 7d4bcd8
Server Hardware - Beelink AMD mini PCExpected behaviour
Be allowed to login without a 501 error
Steps to reproduce
.env
file, running./gen-passwords.sh
and usingdocker-compose up -d
to start the container.GENESIS_JWT_COOKIE_ALLOW_HTTP
is already set totrue
in my .env file:Additional info
This same service has about 30 other containers running, with nginx proxy manager (NPM) as the reverse proxy, so I'm fairly confident there is no issue in my existing proxy/tunnel setup.
The topology flow is something like: Request ---> WAN ---> domain name ---> DNS record for cloudflare tunnel ID ---> home server on the "cf" docker network ---> NPM subdomain entry with "services" docker network ---> downstream service.
Happy to share more details in case I missed something!