diff --git a/caddy/docker-compose.yml b/caddy/docker-compose.yml index e1f250b..88df53a 100644 --- a/caddy/docker-compose.yml +++ b/caddy/docker-compose.yml @@ -16,8 +16,8 @@ services: volumes: - $PWD/Caddyfile:/etc/caddy/Caddyfile - $PWD/mail_certs:/etc/caddy/mail_certs - - $PWD/email_autodiscover:/etc/caddy/email_autodiscover - - $PWD/email.mobileconfig.tpl:/etc/caddy/email.mobileconfig.tpl + # email_autodiscover entfernt - Snippet ist jetzt in mail_certs eingebettet + - $PWD/email.mobileconfig.html:/etc/caddy/email.mobileconfig.html - $PWD/email-setup:/var/www/email-setup - caddy_data:/data - caddy_config:/config @@ -33,4 +33,4 @@ networks: volumes: caddy_data: external: true - caddy_config: + caddy_config: \ No newline at end of file diff --git a/caddy/email.mobileconfig.tpl b/caddy/email.mobileconfig.html similarity index 63% rename from caddy/email.mobileconfig.tpl rename to caddy/email.mobileconfig.html index 43944eb..9643e6e 100644 --- a/caddy/email.mobileconfig.tpl +++ b/caddy/email.mobileconfig.html @@ -2,75 +2,72 @@ {{/* ─────────────────────────────────────────────────── - Apple MobileConfig Template (Caddy templates) + Apple MobileConfig Template (Caddy templates + Sprig) - Dynamisch: Leitet die Basisdomain aus dem Host-Header ab. - Erwartet Aufruf auf autodiscover./apple?email=user@domain + Aufruf: https://autodiscover./apple?email=user@domain.com - Hostname-Logik: - Host = autodiscover.cielectrical.com - splitList "." .Req.Host → [autodiscover, cielectrical, com] - Basisdomain = cielectrical.com (Index 1+) - IMAP = imap.cielectrical.com - SMTP = smtp.cielectrical.com + Domain-Extraktion aus der E-Mail-Adresse: + email = sam@cielectrical.com + splitList "@" → ["sam", "cielectrical.com"] + last → cielectrical.com + → imap.cielectrical.com / smtp.cielectrical.com ─────────────────────────────────────────────────── */}} {{- $email := .Req.URL.Query.Get "email" -}} -{{- $hostParts := splitList "." .Req.Host -}} -{{- $baseDomain := join "." (slice $hostParts 1) -}} +{{- $domain := last (splitList "@" $email) -}} PayloadContent EmailAccountDescription - {{ $email }} + {{$email}} EmailAccountName - {{ $email }} + {{$email}} EmailAccountType EmailTypeIMAP EmailAddress - {{ $email }} + {{$email}} IncomingMailServerAuthentication EmailAuthPassword IncomingMailServerHostName - imap.{{ $baseDomain }} + imap.{{$domain}} IncomingMailServerPortNumber 993 IncomingMailServerUseSSL - > + IncomingMailServerUsername - {{ $email }} + {{$email}} OutgoingMailServerAuthentication EmailAuthPassword OutgoingMailServerHostName - smtp.{{ $baseDomain }} + smtp.{{$domain}} OutgoingMailServerPortNumber 465 OutgoingMailServerUseSSL OutgoingMailServerUsername - {{ $email }} + {{$email}} OutgoingPasswordRequired PayloadDescription - E-Mail Konfiguration für {{ $email }} + E-Mail Konfiguration PayloadDisplayName - {{ $baseDomain }} E-Mail + {{$domain}} E-Mail PayloadIdentifier - com.{{ $baseDomain }}.email.account + com.{{$domain}}.email.account PayloadType com.apple.mail.managed PayloadUUID - {{ uuidv4 }} + {{uuidv4}} PayloadVersion 1 PayloadDescription - Automatische E-Mail Einrichtung für {{ $email }} + E-Mail Einrichtung fuer {{$email}} PayloadDisplayName - {{ $baseDomain }} E-Mail Einstellungen + {{$domain}} E-Mail PayloadIdentifier - com.{{ $baseDomain }}.email.profile + com.{{$domain}}.email.profile PayloadOrganization Bay Area Affiliates, Inc. PayloadRemovalDisallowed @@ -78,8 +75,8 @@ PayloadType Configuration PayloadUUID - {{ uuidv4 }} + {{uuidv4}} PayloadVersion 1 - + \ No newline at end of file diff --git a/caddy/update-caddy-certs.sh b/caddy/update-caddy-certs.sh index 50343c7..cebd90b 100755 --- a/caddy/update-caddy-certs.sh +++ b/caddy/update-caddy-certs.sh @@ -151,14 +151,13 @@ OUTPUT="${OUTPUT}\n" # --- 4. Apple MobileConfig (Template) --- OUTPUT="${OUTPUT} # Apple MobileConfig (dynamisches Template)\n" +OUTPUT="${OUTPUT} # .tpl → .html damit file_server text/html liefert und templates rendert\n" OUTPUT="${OUTPUT} route /apple {\n" -OUTPUT="${OUTPUT} templates {\n" -OUTPUT="${OUTPUT} mime \"application/x-apple-aspen-config\"\n" -OUTPUT="${OUTPUT} }\n" +OUTPUT="${OUTPUT} root * /etc/caddy\n" +OUTPUT="${OUTPUT} rewrite * /email.mobileconfig.html\n" +OUTPUT="${OUTPUT} templates\n" OUTPUT="${OUTPUT} header Content-Type \"application/x-apple-aspen-config; charset=utf-8\"\n" OUTPUT="${OUTPUT} header Content-Disposition \"attachment; filename=email.mobileconfig\"\n" -OUTPUT="${OUTPUT} root * /etc/caddy\n" -OUTPUT="${OUTPUT} rewrite * /email.mobileconfig.tpl\n" OUTPUT="${OUTPUT} file_server\n" OUTPUT="${OUTPUT} }\n"