Skip to content

Feature: add multi-provider/multi-account mode#13

Merged
madcamel merged 1 commit into
madcamel:mainfrom
N-Storm:multi-account
Jun 3, 2026
Merged

Feature: add multi-provider/multi-account mode#13
madcamel merged 1 commit into
madcamel:mainfrom
N-Storm:multi-account

Conversation

@N-Storm

@N-Storm N-Storm commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Hello,

This PR adds support for multiple DNS providers and/or accounts in acmeproxy.pl.

While it is common for domains managed by a single entity (organization or individual) to be hosted with the same DNS provider, there are also cases where domains are spread across multiple provider accounts or even different DNS providers. This change allows such setups to be handled by a single acmeproxy.pl instance.

A new optional configuration section can be used to define multiple DNS accounts. Each entry specifies the DNS plugin, the environment variables containing credentials and settings, and a list of domains associated with that account. When processing a client request, acmeproxy.pl selects the appropriate account by matching either the full domain name or a top-level domain suffix.

This allows a single acmeproxy.pl instance to serve certificate requests for domains hosted across multiple DNS providers and/or accounts while maintaining backward compatibility with the original single-account configuration.

@madcamel

madcamel commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Thanks for the PR! Great work keeping it fully backwards compatible.

I debated merging this due to the additional complexity, why not use multiple instances? Then I actually tried running multiple acmeproxy.pl instances outside of docker.. oof. That won't be fixed anytime soon, so this is actually a pretty good feature to have.

This is becoming kitchen-sink ware.. Argh.

@madcamel madcamel merged commit 6c12bbf into madcamel:main Jun 3, 2026
4 checks passed
@N-Storm

N-Storm commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for the review and merge!

Another argument in favor of implementing this as a feature rather than using multiple instances, which I didn't mention in the PR description, is that it allows issuing multi-domain (SAN) certificates even when the domains are
hosted with different providers or accounts. I've tested this, and it works. This wouldn't be possible with separate acmeproxy.pl endpoints, at least when using acme.sh, which supports only a single endpoint during an operation.

And another benefit is that it simplifies domain management on clients. With multiple acmeproxy.pl instances, every client has to specify the correct endpoint for each domain, meaning that domain-to-endpoint mappings must be maintained on every client that requires this. By keeping this information centralized within the acmeproxy.pl config only, the overall setup becomes much easier to manage when it's desirable to issue certificates for domains hosted on different accounts within the same environment.

@N-Storm N-Storm deleted the multi-account branch June 5, 2026 20:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants