[TUTORIAL] ACME DNS API with Name.com

I'm just going to post this here for posterity because I was a little confused with what I was presented in the Web UI, and the help.

It's nothing too difficult, just hoping it saves someone (such as my future self) 15 minutes of tinkering.

Step 0: API Token + ENVs

You get your token from https://www.name.com/account/settings/api. Nothing weird there.

A nuance, however, is that TOKEN NAME is NOT USED. Really it's just a comment for your benefit.
Instead, the Account Username is the username. Although literally it makes sense, I'm just more accustomed to the practice of the token id or token name being "username".

What is weird is that instead of typical POSIX Shell ENV export in ALL_CAPS, you're supposed to use Title_Snakecase.
(as per https://github.com/acmesh-official/acme.sh/wiki/dnsapi#28-use-namecom-api)
I don't think I've ever seen that before on a Linux system... ‍

code_language.shell:
Namecom_Username=myaccountusername
Namecom_Token=ffffffffffffffffffffffffffffffffffffffff

Step 1: Datacenter: ACME: Accounts

Straightforward enough.

Screenshot 2025-04-03 at 8.41.29 PM.png

Step 2: Datacenter: ACME: Challenge Plugins

I believe that you must be logged in as Linux (pam) root in order to see this.

A PVE account with Administrator privileges did NOT work for me.

Screenshot 2025-04-03 at 8.22.34 PM.png
That will result in

/etc/pve/priv/acme/plugins.cfg:
Code:
dns: namedotcom-mynewlab
    api namecom
    data XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

standalone: standalone

Step 3: <node>: System: Certificates: ACME

You can't choose a DNS plugin unless you first set it up at the Datacenter layer.

It will be named whatever arbitrary name you gave it.

This part can be done as a PVEAdmin.

Screenshot 2025-04-03 at 8.44.04 PM.png

References

- Proxmox ACME DNS API: https://pve.proxmox.com/pve-docs/chapter-sysadmin.html#sysadmin_certs_acme_dns_challenge
- acme.sh name.com (namecom): https://github.com/acmesh-official/acme.sh/wiki/dnsapi#28-use-namecom-api
 
Last edited: