From 6e4c5d7cbaa47395fed87b0426be24bdbcd7f7a2 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Sat, 21 Feb 2026 19:19:43 -0700 Subject: [PATCH] =?UTF-8?q?chore:=20update=20backlog=20=E2=80=94=20DNS=20s?= =?UTF-8?q?witch=20and=20email=20config=20tasks=20done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- backlog/config.yml | 1 + ...-3 - Switch-DNS-to-community.cadcad.org.md | 9 ++++++++- ...task-4 - Configure-email-sending-domain.md | 19 +++++++++++++++++-- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/backlog/config.yml b/backlog/config.yml index 40a40f4..56b6072 100644 --- a/backlog/config.yml +++ b/backlog/config.yml @@ -13,3 +13,4 @@ auto_commit: false bypass_git_hooks: false check_active_branches: true active_branch_days: 30 +task_prefix: "task" diff --git a/backlog/tasks/task-3 - Switch-DNS-to-community.cadcad.org.md b/backlog/tasks/task-3 - Switch-DNS-to-community.cadcad.org.md index 84ea7c1..0b18580 100644 --- a/backlog/tasks/task-3 - Switch-DNS-to-community.cadcad.org.md +++ b/backlog/tasks/task-3 - Switch-DNS-to-community.cadcad.org.md @@ -1,7 +1,7 @@ --- id: task-3 title: Switch DNS to community.cadcad.org -status: To Do +status: Done assignee: [] created_date: '2026-02-10 02:22' labels: [] @@ -14,3 +14,10 @@ priority: medium Update DISCOURSE_HOSTNAME and Traefik Host rule in app.yml, rebuild, add community.cadcad.org to Cloudflare tunnel, coordinate CNAME record with cadcad.org DNS admin. + +## Notes +- DISCOURSE_HOSTNAME and Traefik Host rule were already set to `community.cadcad.org` in app.yml +- cadcad.org zone added to Cloudflare account (2026-02-20), CNAME records created for @, www, and community +- community.cadcad.org, cadcad.org, www.cadcad.org added to tunnel config and cloudflared restarted +- Verified: community.cadcad.org serves Discourse forum, cadcad.org serves main Next.js site +- Legacy cadcad-forum.jeffemmett.com still in tunnel config (can remove later) diff --git a/backlog/tasks/task-4 - Configure-email-sending-domain.md b/backlog/tasks/task-4 - Configure-email-sending-domain.md index f6dc5e3..f014047 100644 --- a/backlog/tasks/task-4 - Configure-email-sending-domain.md +++ b/backlog/tasks/task-4 - Configure-email-sending-domain.md @@ -1,9 +1,10 @@ --- -id: task-4 +id: TASK-4 title: Configure email sending domain -status: To Do +status: Done assignee: [] created_date: '2026-02-10 02:22' +updated_date: '2026-02-22 01:25' labels: [] dependencies: [] priority: low @@ -14,3 +15,17 @@ priority: low Currently sending from noreply@jeffemmett.com. May want to switch to noreply@cadcad.org once domain is confirmed. Would need to add cadcad.org domain to mailcow or use authenticated SMTP. + +## Notes +- Added cadcad.org domain to Mailcow with DKIM key generated (2026-02-22) +- Created noreply@cadcad.org mailbox +- Added DNS records to Cloudflare: SPF (ip4:159.195.32.209), DKIM (2048-bit RSA), DMARC (quarantine), MX (mx.jeffemmett.com) +- Updated Discourse app.yml: DISCOURSE_SMTP_DOMAIN=cadcad.org, DISCOURSE_NOTIFICATION_EMAIL=noreply@cadcad.org +- Rebuilt Discourse container, reconnected to traefik-public and mailcow-network +- Test email sent successfully: noreply@cadcad.org → jeffemmett@gmail.com (delivered via Gmail SMTP, status=sent) + +## Implementation Notes + + +cadcad.org domain already in Mailcow with noreply@cadcad.org mailbox. DNS records (MX, SPF, DKIM, DMARC) all configured in Cloudflare. Discourse SMTP already pointing to noreply@cadcad.org. Sender ACL updated. +