I’m having trouble getting snikket to work with Docker using nginx proxy manager. I’ve gone through the official reverse proxy documentation but still can’t figure out how to set it up correctly with npm.
Currently, my nginx proxy manager is utilizing ports 80 and 443 for my web server and various other services. Here’s how I set up the shared volumes:
services:
proxy_manager:
volumes:
- shared_certs:/data/ssl-challenges/.well-known
snikket_app:
volumes:
- shared_certs:/opt/web/.well-known
volumes:
shared_certs:
external: true
Whenever I add something in the Custom Location section of npm, I encounter a 502 Bad Gateway error. However, if I leave it empty, snikket fails to obtain SSL certificates and displays a certificate-related error.
Has anyone got this working successfully? What specific settings did you use in nginx proxy manager?
I solved this by setting up two separate proxy hosts in nginx proxy manager instead of messing with custom locations. First host handles the main snikket domain pointing to snikket_app:5280 - disable SSL since snikket manages certificates itself. Second host covers the ACME challenge subdomain if you need it. The main issue I hit was the shared volume mount path. Make sure nginx proxy manager can actually write to that shared volume. When you get that 502, check the logs for both containers - they’ll usually show permission issues or network problems between containers. Also verify your snikket config file has the right domain settings that match what you set up in npm.
I had similar issues, try setting your custom loc to /.well-known/acme-challenge and make sure it’s directed to snikket’s port. Also, verify your DNS settings are good and that snikket’s server is on the right port.
The 502 error indicates that nginx proxy manager cannot access the snikket backend service. I faced this issue recently due to incorrect proxy host configuration. Ensure that you’re directing traffic to the appropriate internal Docker network address for snikket, typically snikket_app:5280 for the HTTP port. It’s also important to disable SSL verification in your proxy host settings as snikket manages its own SSL certificates. For the ACME challenge path, set up a custom location that points to snikket’s container on port 5280 using /.well-known/acme-challenge/. I overlooked this detail originally: both containers must be on the same Docker network for npm to communicate with snikket.