aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAnders Betts <anders.betts@gmail.com>2026-09-20 15:58:10 +0200
committerAnders Betts <anders.betts@gmail.com>2026-09-20 15:58:10 +0200
commitc0d08b0880dcce7337d9bdf046c93b318a84c2dc (patch)
treef411be2a92e7b60fc311a31fd8037d28fafd4c0b /docs
parent90068419d51b0289c65d4db9e14849fbecd34a95 (diff)
downloadbokf-c0d08b0880dcce7337d9bdf046c93b318a84c2dc.tar.gz
bokf-c0d08b0880dcce7337d9bdf046c93b318a84c2dc.zip
deploy: pass BOKFD_SECRET_KEY through compose; document waves 1-2
Diffstat (limited to 'docs')
-rw-r--r--docs/DEPLOY.md6
-rw-r--r--docs/STATE.md5
2 files changed, 11 insertions, 0 deletions
diff --git a/docs/DEPLOY.md b/docs/DEPLOY.md
index ed105f8..7385a8f 100644
--- a/docs/DEPLOY.md
+++ b/docs/DEPLOY.md
@@ -184,8 +184,14 @@ LEGO_DOMAIN=bokf.makandra.eu
LEGO_EMAIL=anders@makandra.eu
INWX_USERNAME=...
INWX_PASSWORD=...
+BOKFD_SECRET_KEY=... # openssl rand -hex 32
```
+`BOKFD_SECRET_KEY` encrypts secrets that live in the database (the SMTP
+password) with AES-256-GCM; without it, setting or sending with a mail
+password fails. Keep it out of the repository and out of backups of the
+database — losing it only means re-entering the SMTP password.
+
Forward port 8788 on the router to the host. The `certs` sidecar obtains and
renews the certificate into `var/db/certs/certificates/`; `bokfd` reloads it
in place. On the very first `up`, `bokfd` may restart a few times until the
diff --git a/docs/STATE.md b/docs/STATE.md
index 981aace..8b33b52 100644
--- a/docs/STATE.md
+++ b/docs/STATE.md
@@ -158,6 +158,11 @@ check.
Settings `invoice_receivable_account`, `invoice_revenue_account`,
`invoice_bankgiro`. **Swish QR: decided 2026-09-20 — not supported**
(invoice 1's QR is dropped; the generator has no image support).
+ **Wave 2 done 2026-09-20**: settings secrets are AES-256-GCM encrypted
+ with `BOKFD_SECRET_KEY` (`smtp_password`; `settings.get` never returns
+ it), SMTP over TLS/STARTTLS/plain (`src/smtp.c`) and `invoice.send`
+ (subject `Faktura <nr>`, PDF attached, `last_sent_*`, audited,
+ `SMTP_NOT_CONFIGURED`/`SMTP_FAILED`). Wave 3 (TUI Fakturering) pending.
## Pending decisions