No description
  • Python 73.1%
  • JavaScript 26%
  • Shell 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Stefan Lindecke f3c44e133f creds.json nicht mehr versionieren
Die Datei bleibt lokal (.gitignore). Die alten Zugangsdaten stehen noch in der
History und werden rotiert; Umstellung auf Bitwarden-Platzhalter folgt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 13:28:36 +02:00
domains Mail-Authentifizierung: SPF mit IPv6, DMARC-rua, HELO-SPF, Report-Autorisierung 2026-10-20 13:16:49 +02:00
scripts Mail auf SV03/MX03 umstellen; imap/smtp-CNAMEs zentral ergänzen; Netcup-Domains entfernen; Mailcow-DKIM-Export-Skript hinzufügen. 2026-08-05 11:30:08 +02:00
.gitignore Mail/DKIM-Config zentralisieren und Domain-Helper einführen. 2026-05-29 19:53:56 +02:00
config_dkim.js Mail-Authentifizierung: SPF mit IPv6, DMARC-rua, HELO-SPF, Report-Autorisierung 2026-10-20 13:16:49 +02:00
config_mx.js Mail-Authentifizierung: SPF mit IPv6, DMARC-rua, HELO-SPF, Report-Autorisierung 2026-10-20 13:16:49 +02:00
config_server.js Mail-Authentifizierung: SPF mit IPv6, DMARC-rua, HELO-SPF, Report-Autorisierung 2026-10-20 13:16:49 +02:00
dnsconfig.js Porkbun-Provider einführen; dein-tier.online Mailgun-Config; kleinere DNS-Anpassungen 2026-09-07 11:57:56 +02:00
README.md Mail-Zertifikat nur für mail.ktrion.de als Standard (ONLY_MAILCOW_HOSTNAME) 2026-10-15 14:52:47 +02:00
requirements.txt Domain-Configs in Provider-Unterordner aufteilen und Mailcow-Vergleich hinzufügen. 2026-05-29 19:47:33 +02:00

DNSControl — ktrion.de & Domains

Zentral verwaltete DNS-Zonen via DNSControl.

Struktur

dnsconfig.js          # Provider, Defaults, require_glob
config_server.js      # Server-IPs, SV*_SERVER, SPF_MAIL
config_dkim.js        # DKIM-Schlüssel (Selector: dkim)
config_mx.js          # Mail-Presets, HOSTED_WEB_MAIL()
domains/
  namecheap/          # Namecheap-DNS (kein SRV)
  netcup/
  inwx/
  inwx-maren/
scripts/
  compare_mailcow_dnsconfig.py
  mailcow_config.example.json
creds.json            # lokal, nicht committen

Voraussetzungen

  • dnscontrol installiert
  • creds.json mit Provider-API-Zugängen (Vorlage aus bestehendem Repo / Team)

Befehle

# Alle Zonen prüfen
dnscontrol preview

# Eine Zone pushen
dnscontrol push -domains beisetzung.digital

# Wrapper
./scripts/push-domain.sh beisetzung.digital

Mailcow ↔ DNSControl

cp scripts/mailcow_config.example.json scripts/mailcow_config.json
pip install -r requirements.txt
python3 scripts/compare_mailcow_dnsconfig.py
python3 scripts/compare_mailcow_dnsconfig.py --failures-only

Mail-Zertifikate (Mailcow)

Standard: Mailcow holt nur ein Zertifikat für mail.ktrion.de (ONLY_MAILCOW_HOSTNAME=y in mailcow.conf). Für Kunden-Domains gibt es also keine ACME-Challenge, und es ist egal, bei welchem Provider ihr DNS liegt. Die Mail-Presets in config_mx.js leiten imap/smtp/autoconfig/autodiscover per CNAME und die SRV-Records auf mail.ktrion.de. In Clients immer mail.ktrion.de als Server eintragen.

Namecheap

API-Zugriff nur von freigegebenen IPs — bei Fehler 1011150: Invalid request IP die aktuelle IP in der Namecheap-API whitelisten.

Neue Domain

  1. Datei domains/<provider>/example.de.js anlegen
  2. Typisches Muster:
D("example.de", REG_NONE, DnsProvider(DSP_NETCUP),
    DefaultTTL(3600),
    HOSTED_WEB_MAIL(SV02_SERVER, MX_MAIL_CONFIG),
    END
);
  1. Eigenes DKIM (Mailcow): HOSTED_WEB_MAIL(SV02_SERVER, MX_MAIL_CONFIG_NO_DKIM, DKIM_BEISETZUNG) — Key in config_dkim.js