Docs: document Gmail SMTP setup for email
Add a Gmail App Password walkthrough to the README and note in CLAUDE.md that production email is configured, including the Unraid-template persistence caveat. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e1fc1f9a2b
commit
bc025d901b
@@ -45,6 +45,11 @@ Container defaults `WishNinja__DataPath=/data` and listens on `:8080`. Key vars:
|
||||
email links), `WishNinja__Smtp__*` (optional; if unset, emails are logged and invite links show in
|
||||
the admin UI). Full table in the README.
|
||||
|
||||
**Production email is configured** via a Gmail **App Password** (`smtp.gmail.com:587` STARTTLS),
|
||||
stored in the Unraid template (masked). Invites + password resets both use it. See the README
|
||||
"Email (Gmail example)" section. Reminder: SMTP vars must live in the Unraid *template*, not just
|
||||
the running container, or a Force Update wipes them.
|
||||
|
||||
## Deployment (production)
|
||||
- **Repo:** `https://git.basso.land/jim/WishNinja` (Gitea). Push to `main` → Gitea Actions runs
|
||||
tests, builds the Docker image, pushes `git.basso.land/jim/wishninja:latest` + a SHA tag.
|
||||
|
||||
@@ -54,6 +54,32 @@ All settings are environment variables (double-underscore maps to nested config)
|
||||
|
||||
The container listens on **port 8080** over plain HTTP — terminate TLS at your reverse proxy.
|
||||
|
||||
### Email (Gmail example)
|
||||
|
||||
Invites and password resets need SMTP. Gmail works via an **App Password** (not your account
|
||||
password):
|
||||
|
||||
1. Enable **2-Step Verification** on the Google account, then create an App Password at
|
||||
<https://myaccount.google.com/apppasswords>. You get a 16-character password — use it **without
|
||||
spaces**.
|
||||
2. Set the SMTP variables:
|
||||
|
||||
| Variable | Value |
|
||||
|---|---|
|
||||
| `WishNinja__Smtp__Host` | `smtp.gmail.com` |
|
||||
| `WishNinja__Smtp__Port` | `587` |
|
||||
| `WishNinja__Smtp__UseStartTls` | `true` |
|
||||
| `WishNinja__Smtp__User` | your full Gmail address |
|
||||
| `WishNinja__Smtp__Password` | the 16-char app password (no spaces) |
|
||||
| `WishNinja__Smtp__FromAddress` | same Gmail address (Gmail requires From = authenticated user) |
|
||||
| `WishNinja__Smtp__FromName` | e.g. `WishNinja` |
|
||||
|
||||
Other providers work the same way — just swap Host/Port/User/Password. Leave `Smtp__Host` empty to
|
||||
disable email entirely (invite links still appear in the admin UI).
|
||||
|
||||
> **Unraid note:** set these as container variables via the template so they persist across
|
||||
> *Force Update* redeploys — variables added only to a running container are lost on recreate.
|
||||
|
||||
## Running on Unraid
|
||||
|
||||
1. **Build & publish the image.** Push to your Gitea repo; the included
|
||||
|
||||
Reference in New Issue
Block a user