Hello, I want to be able to access the nginx proxy manager interface so I can expose other services on my server that I would like to install. However, can’t access it thru ip:81 and I think the aoi has only the database? I need some help / guidance how I can add the nginx-proxy-manager web ui or how to go from here. I’m very new to docker and it’s kinda confusing.
I run Nginx Proxy Manager (NPM) as a separate service outside of Nextcloud AIO. Why separate?
Isolation & updates: AIO’s internal proxy is there to serve AIO; keeping NPM separate avoids breaking your proxy when AIO updates/recreates containers.
No port fights: A standalone NPM owns ports 80/443/81 for all your apps, not just Nextcloud.
Cleaner ops & recovery: independent volumes/DB, simple backups/migration, and it can front multiple services/hosts.
How I run external NPM
# 1) Create a dedicated directory for NPM
mkdir -p ~/nginx-new
cd ~/nginx-new
# 2) Create docker-compose.yml
nano docker-compose.yml
# 3) Start it
docker compose up -d
# 4) Open the UI
# http://<your-server-ip>:81
In NPM, add a Proxy Host for your Nextcloud domain that points to the AIO Apache (commonly port 11000 on the AIO host).
For Talk, forward UDP 3478 directly to your AIO server (TURN/STUN is UDP; NPM doesn’t proxy UDP).
Right now you’re struggling with Caddy, but you should either commit to that route and learn how to configure it properly, or drop it and set up Nginx Proxy Manager instead.
I’ve already sent you the full NPM configuration – you can just apply it and everything should work without unnecessary headaches.
Most importantly, don’t mix two different reverse proxies at the same time – they’ll only get in each other’s way. Pick one solution and stick with it.
Thank you but it was more that that. Because I wasn’t sure what caddy did. And also nextcloud was using ports that nginx proxy manager needs. So with some help of chatgpt I managed to remove those ports from nextcloud. And remove the caddy container. Now I set-up nginx proxy manager like so: “http://nextcloud-aio-apache:11000”
This seems to work.
I didn’t add in the following:
For Talk , forward UDP 3478 directly to your AIO server (TURN/STUN is UDP; NPM doesn’t proxy UDP).
Because I’m not so sure how to do that. I host a vps online. But I tested talk and I can message and call people, so I think it’s fine?
Other thing I noticed is when I go to my server ip :80 I get the congratulations page. And for :443 I get cert error. Using the cloud.domain.com works tho.
On the firewall I have now port 8080 blocked, port 81, 80, 443 allowed.
Can you please confirm if since talk seems to be working I can skip the UDP stuff you said and if these firewall rules are fine. Thank you so much for the help.
If you had mentioned from the start that you’re running this on a VPS, we could have gone for a simpler route and you might not even need NPM.
But since you’ve already got it working with NPM, just keep it as it is – no need to overcomplicate things.
About UDP 3478 – if Talk works fine and you’re not experiencing call/video dropouts, you can leave it as is. If you ever want more stable connections, open it in your VPS firewall (if you have one) and forward it to AIO.
If you don’t have a firewall enabled on the VPS, then UDP 3478 is likely already open and you don’t need to touch it at all.