Files
proxmox/docs/04-configuration/NPMPLUS_CERTBOT_CLOUDNS_CREDENTIALS.md

67 lines
1.9 KiB
Markdown
Raw Normal View History

# NPMplus Certbot ClouDNS Credentials from .env
**Last Updated:** 2026-01-31
**Document Version:** 1.0
**Status:** Active Documentation
---
**Purpose**: Use project `.env` to supply NPMplus Certbot **ClouDNS** credentials for DNS challenge (TLS certificates).
---
## 1. .env variables
Add to your `.env` (see `.env.example`):
| Variable | Required | Description |
|----------|----------|-------------|
| **CLOUDNS_AUTH_ID** | Yes | ClouDNS auth ID (see [ClouDNS API settings](https://www.cloudns.net/api-settings/)). |
| **CLOUDNS_AUTH_PASSWORD** | Yes | ClouDNS API password. |
| **CLOUDNS_SUB_AUTH_ID** | Optional | Sub-account auth ID (use **one** of sub-auth options). |
| **CLOUDNS_SUB_AUTH_USER** | Optional | Sub-account username (use **one** of sub-auth options). |
---
## 2. Credentials file content (for NPMplus UI)
Run from repo root:
```bash
./scripts/certbot/print-cloudns-credentials-from-env.sh
```
Copy the **entire output** and paste it into NPMplus:
**NPMplus → Add TLS Certificate** (or **SSL Certificates****Add**) → **DNS Challenge****ClouDNS****Credentials File Content \***.
The script prints the Certbot `dns-cloudns` format:
```ini
dns_cloudns_auth_id=1234
dns_cloudns_auth_password=your-api-password
```
If `CLOUDNS_SUB_AUTH_ID` or `CLOUDNS_SUB_AUTH_USER` is set in `.env`, the script adds the corresponding line.
---
## 3. Example .env snippet
```bash
CLOUDNS_AUTH_ID=1234
CLOUDNS_AUTH_PASSWORD=your-cloudns-api-password
# Optional: sub-account (one of the two)
# CLOUDNS_SUB_AUTH_ID=1234
# CLOUDNS_SUB_AUTH_USER=foobar
```
---
## 4. References
- **Example file**: `scripts/certbot/cloudns-credentials.example`
- **Script**: `scripts/certbot/print-cloudns-credentials-from-env.sh`
- **ClouDNS API**: https://www.cloudns.net/api-settings/
- **Cloudflare (alternative)**: `scripts/certbot/print-cloudflare-credentials-from-env.sh`, `docs/04-configuration/CLOUDFLARE_CREDENTIALS_BOTH_METHODS.md`