Style newsletters and system e-mails like www.eom.dev

Catppuccin Mocha campaign template (default) and archive variant, kept
in sync in the database; system e-mail header/footer overridden via
--static-dir from a ConfigMap. PNG logo for mail clients. Tested in
Mailpit (desktop, phone width; 87% CSS support, rest inlined).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-06 21:36:39 -05:00
co-authored by Claude Opus 5.5
parent baa2d4b521
commit a74d580b0a
9 changed files with 226 additions and 4 deletions
+10 -2
View File
@@ -39,6 +39,7 @@ spec:
app.kubernetes.io/component: app
annotations:
checksum/secret: {{ lookup('ansible.builtin.template', 'secret.yml.j2') | hash('sha256') }}
checksum/email: {{ lookup('ansible.builtin.template', 'email-configmap.yml.j2') | hash('sha256') }}
spec:
affinity: {{ listmonk_affinity | to_json }}
containers:
@@ -47,14 +48,15 @@ spec:
imagePullPolicy: {{ listmonk_image_pull_policy }}
# --config '' : configuration comes from the environment only.
# --install --idempotent only installs into an empty database;
# --upgrade runs migrations after an image bump.
# --upgrade runs migrations after an image bump. --static-dir
# overlays the eom.dev system e-mail header/footer (base.html).
command:
- sh
- -c
- >-
./listmonk --install --idempotent --yes --config '' &&
./listmonk --upgrade --yes --config '' &&
exec ./listmonk --config ''
exec ./listmonk --config '' --static-dir /listmonk/static-eom
env:
- name: TZ
value: America/New_York
@@ -97,7 +99,13 @@ spec:
volumeMounts:
- name: uploads
mountPath: /listmonk/uploads
- name: email-templates
mountPath: /listmonk/static-eom/email-templates
readOnly: true
volumes:
- name: email-templates
configMap:
name: {{ listmonk_name }}-email-templates
- name: uploads
persistentVolumeClaim:
claimName: {{ listmonk_name }}-uploads