mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2026-04-25 17:35:52 +03:00
[GH-ISSUE #2330] High Availability solution with Nginx Proxy Manager #1652
Labels
No labels
awaiting feedback
bug
cannot reproduce
dns provider request
duplicate
enhancement
enhancement
enhancement
good first issue
help wanted
invalid
need more info
no certbot plugin available
product-support
pull-request
question
stale
troll
upstream issue
v2
v2
v2
v3
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/nginx-proxy-manager-NginxProxyManager#1652
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @kamilkobak on GitHub (Oct 18, 2022).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/2330
I tried to do a High Availability solution with Nginx Proxy Manager + Keepalived + inotify-tools but there is a problem with auto-reading configuration on the second NPM. NPM configuration is synchronized between hosts using inotify but to read it you need to restart NPM on the other host. Has anyone done HA for NPM? Maybe the solution would be to keep the configuration in the database.
@the1ts commented on GitHub (Oct 19, 2022):
@kamilkobak do you want 2 NPM or one NPM and a second failover nginx, if so I guess that would be easier. Only requiring inotify to check on changes to parts of the data docker volume. Either way the second nginx will have to be reloaded and sometimes restarted depending on what was changed.
@kamilkobak commented on GitHub (Oct 20, 2022):
HA is 2 NPM running at the same time and connections from outside are routed by 1 or 2 NPM depending on where the external IP will be assigned using Keepalived
@the1ts commented on GitHub (Oct 20, 2022):
I don't think that can be done with simply sharing the data and database, how will each NPM know if the other has already done a piece of work? unless NPM is built to have this understanding from day one. Given its mission statement of being to "provide users with a easy way to accomplish reverse proxying hosts with SSL termination and it had to be so easy that a monkey could do it" I would think that NPM was not built with HA in mind.
Also given how often letsencrypt has to be run, once successfully in a month period (NPM tries a renew from month 2 of the 3 month cert), my first point stands isn't nginx without NPM able to be HA in a much easier fashion now.
@BlindBadgerStudios commented on GitHub (Sep 13, 2023):
I think just basic failover as an option would be great...inotify and keepalived. Alternatively, having this available as a non-docker install and letting people install inotify/keepalived themselves if they want to go that route would be a good option. It's reasonably well documented elsewhere and can keep the core of this project focussed on the NPM UI and experience while allowing people to simply mirror the configs.
@github-actions[bot] commented on GitHub (Apr 24, 2024):
Issue is now considered stale. If you want to keep it open, please comment 👍
@BigFlubba commented on GitHub (May 19, 2025):
I would 100% be in need of this. So far, NPM is running on my main Docker instance. I try to keep reboots and downtime to a minimum, but because it is also a testing environment for new containers, issues do happen, HA NPM would help a lot as I am transitioning everything from IP addresses to HTTPS URLs.
@github-actions[bot] commented on GitHub (Dec 29, 2025):
Issue is now considered stale. If you want to keep it open, please comment 👍